「Apache Spark」の版間の差分

提供: FreeBSD入門
移動: 案内検索
(ページの作成:「Apache Spark とは、大規模なデータ処理のための高速な汎用エンジンです。Hadoopでは、リアルタイム処理ができませんが、Spark...」)
 
 
行22: 行22:
 
== 設定 ==
 
== 設定 ==
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
sudo sysrc spark_master_enable=YES
 +
sudo sysrc spark_worker_enable=YES
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
== spark_masterのコントロール ==
 +
{{service|spark_master}}
 +
== spark_workerのコントロール ==
 +
{{service|spark_worker}}
 
== 使い方 ==
 
== 使い方 ==
 +
=== Web UI ===
 +
spark_master を起動すると Web UI に http://localhost:8080/ でアクセスできます。
 +
=== spark-shell を起動する ===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
spark-shell
+
$ sudo service spark_master onestart
 +
$ spark-shell
 +
</syntaxhighlight>
 +
以下は、実行例です。
 +
<syntaxhighlight lang="bash">
 +
$ /usr/local/share/spark/bin/spark-shell
 +
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
 +
15/03/19 21:41:22 INFO SecurityManager: Changing view acls to: kaworu
 +
15/03/19 21:41:22 INFO SecurityManager: Changing modify acls to: kaworu
 +
15/03/19 21:41:22 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(kaworu); users with modify permissions: Set(kaworu)
 +
15/03/19 21:41:22 INFO HttpServer: Starting HTTP Server
 +
15/03/19 21:41:23 INFO Utils: Successfully started service 'HTTP class server' on port 22683.
 +
Welcome to
 +
      ____              __
 +
    / __/__  ___ _____/ /__
 +
    _\ \/ _ \/ _ `/ __/  '_/
 +
  /___/ .__/\_,_/_/ /_/\_\  version 1.2.1
 +
      /_/
 +
 
 +
Using Scala version 2.10.4 (OpenJDK 64-Bit Server VM, Java 1.8.0_31)
 +
Type in expressions to have them evaluated.
 +
Type :help for more information.
 +
15/03/19 21:41:30 INFO SecurityManager: Changing view acls to: kaworu
 +
15/03/19 21:41:30 INFO SecurityManager: Changing modify acls to: kaworu
 +
15/03/19 21:41:30 INFO SecurityManager: SecurityManager: authentication
 +
disabled; ui acls disabled; users with view
 +
permissions: Set(kaworu); users with modify
 +
permissions: Set(kaworu)
 +
15/03/19 21:41:33 INFO Slf4jLogger: Slf4jLogger started
 +
15/03/19 21:41:33 INFO Remoting: Starting remoting
 +
15/03/19 21:41:34 INFO Utils: Successfully started service 'sparkDriver' on
 +
port 45925.
 +
15/03/19 21:41:34 INFO Remoting: Remoting started; listening on addresses
 +
:[akka.tcp://sparkDriver@a1.local:45925]
 +
15/03/19 21:41:34 INFO SparkEnv: Registering MapOutputTracker
 +
15/03/19 21:41:34 INFO SparkEnv: Registering BlockManagerMaster
 +
15/03/19 21:41:34 INFO DiskBlockManager: Created local directory at /tmp/spark-xxxx
 +
15/03/19 21:41:34 INFO MemoryStore: MemoryStore started with capacity 265.1 MB
 +
15/03/19 21:41:35 INFO HttpFileServer: HTTP File server directory is /tmp/spark-xxxx
 +
15/03/19 21:41:35 INFO HttpServer: Starting HTTP Server
 +
15/03/19 21:41:35 INFO Utils: Successfully started service 'HTTP file server'
 +
on port 56023.
 +
15/03/19 21:41:35 INFO Utils: Successfully started service 'SparkUI' on port 4040.
 +
15/03/19 21:41:35 INFO SparkUI: Started SparkUI at http://a1.local:4040
 +
15/03/19 21:41:35 INFO Executor: Starting executor ID <driver> on host localhost
 +
15/03/19 21:41:35 INFO Executor: Using REPL class URI: http://192.168.60.137:22683
 +
15/03/19 21:41:35 INFO AkkaUtils: Connecting to HeartbeatReceiver:
 +
akka.tcp://sparkDriver@a1.local:45925/user/HeartbeatReceiver
 +
15/03/19 21:41:36 INFO NettyBlockTransferService: Server created on 65501
 +
15/03/19 21:41:36 INFO BlockManagerMaster: Trying to register BlockManager
 +
15/03/19 21:41:36 INFO BlockManagerMasterActor: Registering block manager
 +
localhost:65501 with 265.1 MB RAM,
 +
BlockManagerId(<driver>, localhost, 65501)
 +
15/03/19 21:41:36 INFO BlockManagerMaster: Registered BlockManager
 +
15/03/19 21:41:36 INFO SparkILoop: Created spark context..
 +
Spark context available as sc.
 +
 
 +
scala>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== Pythonからの利用 ==
 
== Pythonからの利用 ==
 
=== py27-spark ===
 
=== py27-spark ===
 
{{pkg|py27-spark}}
 
{{pkg|py27-spark}}
 +
== エラー ==
 +
snappyとsnappyjava が入っていてもエラーになってしまいます。
 +
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native
 +
library is found for os.name=FreeBSD and os.arch=x86_64
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[Java]]
 
* [[Java]]

2015年3月19日 (木) 22:30時点における最新版

Apache Spark とは、大規模なデータ処理のための高速な汎用エンジンです。Hadoopでは、リアルタイム処理ができませんが、Sparkでは、ウィンドウ集計(Time-Window Operation)によりリアルタイム集計が可能です。

読み方

Apache Spark
あぱっち すぱーく

概要

Apache Spark は、インメモリの Hadoop MapReduce よりも 100倍高速で、ディスクでは10倍高速です。 Java, Scala, Python から簡単に利用できます。Pythonから利用する場合には、py27-spark が使用できます。 Spark SQL, 機械学習のためのMLlib, GraphX, Spark Streaming などのハイレベルなツールが利用できます。 Spark は、スタンドアローン、もしくは、クラウドの Hadoop, Mesos で実行できます。HDFS, Cassandra, HBase, S3 など様々なデータソースにアクセスできます。

ウィンドウ集計とは?

ウィンドウ集計は、「直近の一定時間の集計」を実現します。

インストール

pkgコマンドでインストールする場合

sudo pkg install apache-spark

apache-sparkの依存関係は、以下の通りです。

  • hadoop2
  • ssid
  • snappy

設定

sudo sysrc spark_master_enable=YES
sudo sysrc spark_worker_enable=YES

spark_masterのコントロール

サービスの起動

serviceコマンドの詳細は、serviceをご参照ください。 サービスを起動します。

sudo service start spark_master

サービスの停止

サービスを停止します。

sudo service stop spark_master

spark_workerのコントロール

サービスの起動

serviceコマンドの詳細は、serviceをご参照ください。 サービスを起動します。

sudo service start spark_worker

サービスの停止

サービスを停止します。

sudo service stop spark_worker

使い方

Web UI

spark_master を起動すると Web UI に http://localhost:8080/ でアクセスできます。

spark-shell を起動する

$ sudo service spark_master onestart
$ spark-shell

以下は、実行例です。

$ /usr/local/share/spark/bin/spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
15/03/19 21:41:22 INFO SecurityManager: Changing view acls to: kaworu
15/03/19 21:41:22 INFO SecurityManager: Changing modify acls to: kaworu
15/03/19 21:41:22 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(kaworu); users with modify permissions: Set(kaworu)
15/03/19 21:41:22 INFO HttpServer: Starting HTTP Server
15/03/19 21:41:23 INFO Utils: Successfully started service 'HTTP class server' on port 22683.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.2.1
      /_/
 
Using Scala version 2.10.4 (OpenJDK 64-Bit Server VM, Java 1.8.0_31)
Type in expressions to have them evaluated.
Type :help for more information.
15/03/19 21:41:30 INFO SecurityManager: Changing view acls to: kaworu
15/03/19 21:41:30 INFO SecurityManager: Changing modify acls to: kaworu
15/03/19 21:41:30 INFO SecurityManager: SecurityManager: authentication
			disabled; ui acls disabled; users with view
			permissions: Set(kaworu); users with modify
			permissions: Set(kaworu)
15/03/19 21:41:33 INFO Slf4jLogger: Slf4jLogger started
15/03/19 21:41:33 INFO Remoting: Starting remoting
15/03/19 21:41:34 INFO Utils: Successfully started service 'sparkDriver' on
			port 45925.
15/03/19 21:41:34 INFO Remoting: Remoting started; listening on addresses
			:[akka.tcp://sparkDriver@a1.local:45925]
15/03/19 21:41:34 INFO SparkEnv: Registering MapOutputTracker
15/03/19 21:41:34 INFO SparkEnv: Registering BlockManagerMaster
15/03/19 21:41:34 INFO DiskBlockManager: Created local directory at /tmp/spark-xxxx
15/03/19 21:41:34 INFO MemoryStore: MemoryStore started with capacity 265.1 MB
15/03/19 21:41:35 INFO HttpFileServer: HTTP File server directory is /tmp/spark-xxxx
15/03/19 21:41:35 INFO HttpServer: Starting HTTP Server
15/03/19 21:41:35 INFO Utils: Successfully started service 'HTTP file server'
			on port 56023.
15/03/19 21:41:35 INFO Utils: Successfully started service 'SparkUI' on port 4040.
15/03/19 21:41:35 INFO SparkUI: Started SparkUI at http://a1.local:4040
15/03/19 21:41:35 INFO Executor: Starting executor ID <driver> on host localhost
15/03/19 21:41:35 INFO Executor: Using REPL class URI: http://192.168.60.137:22683
15/03/19 21:41:35 INFO AkkaUtils: Connecting to HeartbeatReceiver:
			akka.tcp://sparkDriver@a1.local:45925/user/HeartbeatReceiver
15/03/19 21:41:36 INFO NettyBlockTransferService: Server created on 65501
15/03/19 21:41:36 INFO BlockManagerMaster: Trying to register BlockManager
15/03/19 21:41:36 INFO BlockManagerMasterActor: Registering block manager
			localhost:65501 with 265.1 MB RAM,
			BlockManagerId(<driver>, localhost, 65501)
15/03/19 21:41:36 INFO BlockManagerMaster: Registered BlockManager
15/03/19 21:41:36 INFO SparkILoop: Created spark context..
Spark context available as sc.
 
scala>

Pythonからの利用

py27-spark

pkgコマンドでインストールする場合

sudo pkg install py27-spark

エラー

snappyとsnappyjava が入っていてもエラーになってしまいます。

org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native
library is found for os.name=FreeBSD and os.arch=x86_64

関連項目