Несколько примеров, демонстрирующих возможности Spark.
Рассмотрены некоторые возможности трёх модулей Spark: Spark MLib, Spark SQL, Spark Streaming.
Работа с каждым модулем вынесена в отдельный объект, а конкретные примеры - функции в объекте:
├── build.sbt
├── data
│ └── libsvm_data.txt
├── project
├── src
│ ├── main
│ │ └── scala
│ │ ├── testMLib.scala
│ │ ├── testSQL.scala
│ │ └── testStreaming.scala
│ └── test
└── targetПримеры запускаются из def main, их удобнее запускать по одному, чтобы понимать, что выводится.
В файл build.sbt добавлено:
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "3.2.0",
"org.apache.spark" %% "spark-sql" % "3.2.0",
"org.apache.spark" %% "spark-mllib" % "3.2.0",
)- CorrelationExample - подсчёт корелляционной матрицы с использованием коэффициента корелляции Пирсона и Спирмена.
- ChiSquareTestExample - проверка гипотез: Хи-квадрат Пирсона.
- PipelineExample - создание ML Pipeline.
- RandomForestClassifierExample - логистическая регрессия: RandomForest.
- AddUpdateSelectExample - добавление/обновление/удаление столбцов и выполнение select.
- FilterExample - выполнение filter.
- GroupByExample - выполнение groupby.
- JoinExample - выполнение join.
В примере происходит подсчёт количества слов в текстовых данных, полученных от сервера, прослушивающего сокет TCP. Чтобы запустить данный пример необходимо:
- Запустить в отдельном терминале
$ nc -lk 9999- Запустить объект testStreaming с аргументами
localhost 9999В IntelliJ IDEA необходимо добавить аргументы в конфигурацию запуска: Run > Edit Configurations > Program arguments