Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных через параллельные вычисления на кластере, входящий в экосистему проектов Hadoop.
RDD - основной базовая абстракция Spark, представляющая неизменный набор элементов, разделенных по узлам кластера, что позволяет выполнять параллельные вычисления.
SparkContext или JavaSparkContext(для JAVA) - место откуда мы получает RDD.
Пример конфигурации JavaSparkContext:
SparkConf conf = new SparkConf(); conf.setAppName("my spark application"); conf.setAppName("local[*]"); JavaSparkContext sc = new JavaSparkContext(conf);
DataFrame - состоит из RDD.
Datasets - это типизированные DataFrame.
Spark shuffle - это операция перемешивания(перераспределения ) данных между Экзекютерами. Побочный эффект таких аналитических преобразований, как join(), groupBy(), orderBy(), reduceByKey(), union() и тд.
.groupBy(col(AF.OfficeId)).agg(min(AF.Date))
Catalyst Optimizer - оптимизатор для DataSet.
RDD - мы оптимизируем сами.