Материалы
Документация Spark: https://spark.apache.org/docs/2.3.0/sql-programming-guide.html
Форматы данных:
- Формат plain text storage - text, csv, tsv, с фиксированной длиной и другие текстовые форматы
- Формат sequence files: https://wiki.apache.org/hadoop/SequenceFile
- Формат данных parquet: https://parquet.apache.org/documentation/latest/
- Формат данных orc: https://orc.apache.org/specification/ORCv1/
- Формат данных avro: http://avro.apache.org/docs/current/spec.html
Проект: lession13.zip
Работа с Apache Spark
Установка
Дистрибутив Apache Spark можно скачать с официальной страницы: https://spark.apache.org/downloads.html.
Мы будем работать с версией 2.3.0 скомпилированной под Hadoop 2.7.
Нужно скачать дистрибутив и распаковать в директорию установки.
Работа с REPL (read-eval-print loop)
Запуск
В директории $SPARK_HOME/bin есть файл запуска Spark REPL
- spark-shell.cmd для запуска на ОС Windows
- spark-shell для запуска на *nix платформах
Особенности работы на Windows платформах
При запуска на Windows возникает ошибка
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
В принципе это не помешает запуска, однако, чтобы эмулировать работу с HDFS можно скачать эту утилиту и указать путь к ней.
WinUtils можно скачать по ссылке https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1
При запуске spark-shell.cmd должна быть установлена переменная окружения HADOOP_HOME на путь до директории где в папке bin лежат файлы winutils
set HADOOP_HOME=D:\Programs\Spark\hadoop\
Зависимости в REPL
С помощью настройки --jar можно передать список jar-файлов,нужных при работе с REPL. Например:
%SPARK_HOME%\bin\spark-shell --jar park-introduction-1.0.0-SNAPSHOT.jar