Пономаренко Роман
@rerand0m
rerandom@ispras.ru
Интерактивная оболочка:
spark2-shell - scala оболочкаpyspark2 - python оболочкаЗапуск файла на исполнение:
spark2-submit [params] <file>
(Можно подавать на вход как py, так и jar файлы)
Userguide по работе со Spark в кластере МФТИ
Основной примитив для работы в Spark.
Набор данных, распределённый по партициям (аналог сплитов в Hadoop).
В основном, трансформации - ленивые.
Task << Stage << Job << Application.
Аналоги счётчиков в Hadoop
cnt = sc.accumulator(start_val)
foreach(lambda x: cnt.add(x))
def count_with_conditions(x):
global cnt
if ...:
cnt += 1
rdd.foreach(lambda x: count_with_conditions(x))
cnt.value
doc
Аналог DistributedCache в Hadoop. Обычно используется когда мы хотим в спарке сделать Map-side join
br_cast = sc.broadcast(["hadoop", "hive", "spark", 'zookeeper', 'kafka'])
doc
cache() - кэширование в RAMpersist() - можно задать, куда кэшировать