Apache Spark
Apache Sparkは データエンジニアリング、データサイエンス、機械学習を実行するための多言語エンジンであり、ビッグデータに対して高速に分散処理を行うことが出来るのが特徴のオープンソースのフレームワークです。
Java, Scala, Python, R, SQLなど様々な言語に対応しています。また、クラスタ上のデータをSQLで処理できる「Spark SQL」や、機械学習のための「MLlib」、グラフ処理のための「GraphX」、ストリーミング処理のための「Spark Streaming」など、便利なコンポーネントが付属しています。
Apache Zeppelin
Apache Zeppelinはwebベースのデータ分析ノートブックです。デフォルトでSparkをサポートしているうえにインタープリターの概念により、任意の言語/データ処理バックエンドをZeppelinにプラグインすることが出来ます。 現在、Apache Zeppelinは、Apache Flink、Python、R、JDBC、Markdown、Shellなどの多くのインタープリターをサポートしています。
環境構築よりもまずはSparkを使ってみたいという方はdatabricksのcommunity edditionがおすすめです。
会員登録をすれば無料でSparkの実行環境を使用することが出来ます。
Spark on Zeppelin notebook (環境構築)
Apache Zeppelin notebookをDockerコンテナとして動かします。
この項を始める前にDocker Engineのubuntu上へのinstallを完了させて下さい。
準備
- Docker Engineのインストール
- Ubuntuの空き容量の確保 (Docker imageのサイズが4.11GB)
環境
- ゲストOS : Ubuntu (20.04)
手順
公式ドキュメントApache zeppelin 0.9.0 : Using the official docker imageに従います。
-
ディレクトリ(~/zeppelin/logs, ~/zeppelin/noteook, ~/zeppelin/data)を作成
1mkdir -p ~/zeppelin/logs ~/zeppelin/notebook ~/zeppelin/data
-
以下Dockerコマンドを実行
123456docker run -p 8080:8080 -d \-v ~/zeppelin/logs:/logs \-v ~/zeppelin/notebook:/notebook \-v ~/zeppelin/data:/data \-e ZEPPELIN_LOG_DIR='/logs' -e ZEPPELIN_NOTEBOOK_DIR='/notebook' \--name zeppelin apache/zeppelin:0.9.0- docker imageをpullするのに10minほどかかります。
- 各オプションについては、Docker runを参照してください。
spark tutorialのnotebookを参照したい場合は、以下コマンドを実行してください。
1docker cp zeppelin:/opt/zeppelin/notebook/'Spark Tutorial'/. ~/zeppelin/notebook/spark_tutorial/1docker restart zeppelin
-
http://localhost:8080/#/ にアクセス
-
「Create new note」からnotebookを新規作成
作成したnotenookはnotebookディレクトリに保存されます。
-
Dockerコンテナの操作について
1docker ps1docker stop <container name>1docker start <container name>dockerコマンドについてはUse the Docker command lineを参照してください。
あなたも、Avintonでこのような最先端技術を習得し活用してみませんか?
社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?