CLOVER🍀

That was when it all began.

SDKMANで、Apache Sparkをインストールする

SDKMANの「sdk list」を見ていて、Apache Sparkが扱えるようになっていたことに気付きまして。

Spark

なぜにApache Spark?と思わないでもないものの、どのようなものか試しておきましょう。

インストール。

$ sdk install spark

$HOMEの.sdkmanディレクトリ配下に、Apache Sparkがインストールされます。

$ ll $HOME/.sdkman/candidates/spark
合計 12
drwxrwxr-x  3 xxxxx xxxxx 4096  68 23:28 ./
drwxrwxr-x  9 xxxxx xxxxx 4096  68 23:27 ../
drwxr-xr-x 13 xxxxx xxxxx 4096  223 04:42 2.3.0/
lrwxrwxrwx  1 xxxxx xxxxx   45  68 23:28 current -> $HOME/.sdkman/candidates/spark/2.3.0/

コマンドもインストールされており、パスが通った状態になっています。

$ ll $HOME/.sdkman/candidates/spark/2.3.0/bin
合計 116
drwxr-xr-x  2 xxxxx xxxxx 4096  223 04:42 ./
drwxr-xr-x 13 xxxxx xxxxx 4096  223 04:42 ../
-rwxr-xr-x  1 xxxxx xxxxx 1089  223 04:42 beeline*
-rw-r--r--  1 xxxxx xxxxx 1064  223 04:42 beeline.cmd
-rwxr-xr-x  1 xxxxx xxxxx 3826  223 04:42 docker-image-tool.sh*
-rwxr-xr-x  1 xxxxx xxxxx 1933  223 04:42 find-spark-home*
-rw-r--r--  1 xxxxx xxxxx 2681  223 04:42 find-spark-home.cmd
-rw-r--r--  1 xxxxx xxxxx 1892  223 04:42 load-spark-env.cmd
-rw-r--r--  1 xxxxx xxxxx 2025  223 04:42 load-spark-env.sh
-rwxr-xr-x  1 xxxxx xxxxx 2989  223 04:42 pyspark*
-rw-r--r--  1 xxxxx xxxxx 1170  223 04:42 pyspark.cmd
-rw-r--r--  1 xxxxx xxxxx 1540  223 04:42 pyspark2.cmd
-rwxr-xr-x  1 xxxxx xxxxx 1030  223 04:42 run-example*
-rw-r--r--  1 xxxxx xxxxx 1223  223 04:42 run-example.cmd
-rwxr-xr-x  1 xxxxx xxxxx 3196  223 04:42 spark-class*
-rw-r--r--  1 xxxxx xxxxx 1180  223 04:42 spark-class.cmd
-rw-r--r--  1 xxxxx xxxxx 2545  223 04:42 spark-class2.cmd
-rwxr-xr-x  1 xxxxx xxxxx 3017  223 04:42 spark-shell*
-rw-r--r--  1 xxxxx xxxxx 1178  223 04:42 spark-shell.cmd
-rw-r--r--  1 xxxxx xxxxx 1631  223 04:42 spark-shell2.cmd
-rwxr-xr-x  1 xxxxx xxxxx 1065  223 04:42 spark-sql*
-rw-r--r--  1 xxxxx xxxxx 1173  223 04:42 spark-sql.cmd
-rw-r--r--  1 xxxxx xxxxx 1118  223 04:42 spark-sql2.cmd
-rwxr-xr-x  1 xxxxx xxxxx 1040  223 04:42 spark-submit*
-rw-r--r--  1 xxxxx xxxxx 1180  223 04:42 spark-submit.cmd
-rw-r--r--  1 xxxxx xxxxx 1155  223 04:42 spark-submit2.cmd
-rwxr-xr-x  1 xxxxx xxxxx 1039  223 04:42 sparkR*
-rw-r--r--  1 xxxxx xxxxx 1168  223 04:42 sparkR.cmd
-rw-r--r--  1 xxxxx xxxxx 1097  223 04:42 sparkR2.cmd

Apache Sparkがインストールされたので、Quick Startに沿って使ってみます。

Quick Start

サンプルとなる、README.mdをダウンロード。

$ wget https://raw.githubusercontent.com/apache/spark/master/README.md

spark-shell起動。

$ spark-shell

...

Spark context Web UI available at http://192.168.254.128:4040
Spark context available as 'sc' (master = local[*], app id = local-1528468478799).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.0
      /_/
         
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_171)
Type in expressions to have them evaluated.
Type :help for more information.

確認。

scala> val textFile = spark.read.text("README.md")
textFile: org.apache.spark.sql.DataFrame = [value: string]

scala> textFile.count()
res0: Long = 103                                                                

scala> textFile.first()
res1: org.apache.spark.sql.Row = [# Apache Spark]

あっさりと。Apache Sparkをちょこっと簡単に使う環境を用意するという分には、良いかもしれません。