みなさん、こんにちは。 昨日、Apache Spark、Apache Zeppelin、そして InterSystems IRIS を接続しようとしたときに問題が発生したのですが、有用なガイドが見つからなかったので、自分で書くことにしました。 ### **はじめに** Apache Spark と Apache Zeppelin とは何か、そしてどのように連携するのかを理解しましょう。 Apache Spark はオープンソースのクラスタコンピューティングフレームワークです。暗黙的なデータ並列化と耐障害性を備えるようにクラスタ全体をプログラミングするためのインターフェースを提供しています。そのため、ビッグデータを扱う必要のある場合に非常に役立ちます。 一方の Apache Zeppelin はノートブックです。分析や機械学習に役立つ UI を提供しています。組み合わせて使う場合、IRIS がデータを提供し、提供されたデータを Spark が読み取って、ノートブックでデータを処理する、というように機能します。 注意: 以下の内容は、Windows 10 で行っています。 ### **Apache Zeppelin** では、必要なすべてのプログラムをインストールしましょう。 まず、[Apache Zeppelin の公式サイト](https://zeppelin.apache.org/download.html)から Apache Zeppelin をダウンロードします。私は **zeppelin-0.8.0-bin-all.tgz** を使用しました。このファイルには、**Apache** **Spark**、**Scala**、および **Python** が含まれます。 ダウンロードファイルを任意のフォルダに解凍します。解凍後、Zeppelin フォルダのルートから \bin\zeppelin.cmd を呼び出して、Zeppelin を起動します。 「**Done, zeppelin server started**」が表示されたら、ブラウザでhttp://localhost:8080 を開きます。 すべてうまくいった場合、「**Welcome to Zeppelin!**」メッセージが表示されます。 ![](/sites/default/files/inline/images/bezymyannyy_2.png) 注意: InterSystems IRIS がインストール済みであることを前提としています。まだインストールしていない場合は、次のステップに進む前に IRIS をダウンロードしてインストールしてください。 ### **Apache Spark** ブラウザウィンドウに Zeppelin ノートブックが開いている状態です。右上の「**anonymous**」をクリックし、「**Interpreter**」をクリックします。下にスクロールして「**spark**」を見つけてください。 ![](/sites/default/files/inline/images/7aitjb.jpg) 「spark」の横に「 **edit** 」ボタンがあるので、それをクリックしましょう。 下にスクロールして、**intersystems-spark-1.0.0.jar** と **intersystems-jdbc-3.0.0.jar** に依存関係を追加します。 私の環境は InterSystems IRIS を C:\InterSystems\IRIS\ ディレクトリにインストールしているため、追加しなければならないものは以下の場所にあります。 ![](https://snag.gy/pOPjZu.jpg)![](/sites/default/files/inline/images/byapkf_0.jpg) 私の環境でのファイルは以下の通りです。 ![](/sites/default/files/inline/images/krgvye.jpg) そして保存します。 ### **動作確認** 動作確認してみましょう。 新しいノートを作成し、段落に次のコードを貼り付けます。 var dataFrame=spark.read.format("com.intersystems.spark").option("url", "IRIS://localhost:51773/NAMESPACE").option("user", "UserLogin").option("password", "UserPassword").option("dbtable", "Sample.Person").load() // dbtable - name of your table
URL - IRIS アドレスを 次の書式で指定します。IRIS://ipAddress:superserverPort/namespace
この段落を実行しましょう。 うまくいけば、「FINISHED」が表示されます。
私のノートブックでの実行例です。
この記事の内容をまとめると、Apache Spark、Apache Zeppelin、および InterSystems IRIS がどのように連携できるかがわかりました。 次の記事では、データ分析についてお話しします。