「Apache Spark」の版間の差分
(ページの作成:「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