Принос от Prithviraj Bose
Излъчваните променливи са полезни, когато големи набори от данни трябва да бъдат кеширани в изпълнителите. Този блог обяснява как да започнете.
Какво представляват променливите за излъчване?
Излъчваните променливи в Apache Spark е механизъм за споделяне на променливи между изпълнители, които са предназначени да бъдат само за четене. Без излъчвани променливи тези променливи ще бъдат изпратени до всеки изпълнител за всяка трансформация и действие и това може да доведе до режийни разходи в мрежата. Въпреки това, с излъчваните променливи, те се изпращат веднъж до всички изпълнители и се кешират за бъдеща справка.
за какво се използва науката за данните
Случай за използване на излъчени променливи
Представете си, че докато правим трансформация, трябва да търсим голяма таблица с пощенски кодове / пин кодове. Тук не е възможно да изпращаме голямата справочна таблица всеки път до изпълнителите, нито можем да правим запитване до базата данни всеки път. Решението трябва да бъде да превърнете тази справочна таблица в променливи за излъчване и Spark ще я кешира във всеки изпълнител за бъдещи справки.
Нека вземем прост пример, за да разберем горните концепции. Имаме CSV файл с имена на държави и техните столици. CSV файлът може да бъде намерен тук .
Ако приемем, че обработваме демографски данни за държави и трябва да получим столицата на тази държава. В този случай можем да конвертираме данните в CSV файла в променлива за излъчване.
Първо зареждаме CSV файла в карта, ако файлът бъде намерен, методът се връща Някои (държави) иначе се връща Нито един .
След успешно зареждане на CSV файла, ние конвертираме картата в променлива за излъчване и я използваме в нашата програма.
В кодовия фрагмент по-горе зареждаме CSV файла на карта държави след това преобразуваме тази карта в излъчвана променлива страни кеш . Впоследствие създаваме RDD от ключовете на държави . В searchCountryDetails метод търсим всички държави, започвайки с дефинирана от потребителя буква и методът връща RDD на страните заедно с техните столици. Излъчваната променлива countrieCache се използва за търсене на столиците.
По този начин не е необходимо да изпращаме всички CSV данни всеки път, когато трябва да търсим.
Кодът за searchCountryDetails е показано по-долу,
Може да се намери целият изходен код тук .
Имате въпрос към нас? Споменете ги в раздела за коментари и ние ще се свържем с вас.
Подобни публикации: