Распределенное кэширование с широковещательными переменными: Apache Spark



В этом сообщении блога обсуждается распределенное кэширование с широковещательными переменными и начинается эффективное распределение больших значений в программировании на Spark.

Предоставлено Притхвираджем Босом





Широковещательные переменные полезны, когда большие наборы данных необходимо кэшировать в исполнителях. В этом блоге объясняется, как начать.

Что такое широковещательные переменные?



Широковещательные переменные в Apache Spark - это механизм для обмена переменными между исполнителями, которые предназначены только для чтения. Без широковещательных переменных эти переменные будут отправляться каждому исполнителю для каждого преобразования и действия, что может вызвать накладные расходы сети. Однако с широковещательными переменными они отправляются один раз всем исполнителям и кэшируются для использования в будущем.

как поднять что-то в степень в java

Пример использования широковещательных переменных

Представьте себе, что при выполнении преобразования нам нужно найти большую таблицу почтовых индексов / пин-кодов. Здесь невозможно каждый раз отправлять большую поисковую таблицу исполнителям, и мы не можем каждый раз запрашивать базу данных. Решением должно быть преобразование этой таблицы поиска в широковещательные переменные, и Spark будет кэшировать ее в каждом исполнителе для дальнейшего использования.

Давайте рассмотрим простой пример, чтобы понять вышеупомянутые концепции. У нас есть CSV-файл с названиями стран и их столиц. Файл CSV можно найти Вот .



CSV-file-distributed-caching

Предполагая, что мы обрабатываем демографические данные по странам и нам нужно получить капитал этой страны. В этом случае мы можем преобразовать данные из CSV-файла в широковещательную переменную.

Сначала мы загружаем файл CSV в карту, если файл найден, метод возвращает Некоторые страны) иначе он возвращается Никто .

После успешной загрузки CSV-файла мы конвертируем карту в широковещательную переменную и используем ее в нашей программе.

__в этом__

В приведенном выше фрагменте кода мы загружаем CSV-файл на карту. страны затем мы конвертируем эту карту в широковещательную переменную CountryCache . Впоследствии мы создаем RDD из ключей страны . в searchCountryDetails Мы ищем все страны, начиная с определенной пользователем буквы, и метод возвращает RDD стран вместе с их столицами. Переменная трансляции countrieCache используется для поиска столиц.
Таким образом, нам не нужно отправлять все данные CSV каждый раз, когда нам нужно выполнить поиск.

Код для searchCountryDetails показано ниже,

кто такой разработчик блокчейнов

Весь исходный код можно найти Вот .

Есть вопрос к нам? Упомяните их в разделе комментариев, и мы свяжемся с вами.

Похожие сообщения:

Объяснение аккумуляторов искры

Объяснение комбайна Apache SparkByKey