本日、Apache Spark用MarkLogicコネクタの提供が開始されたことを喜んでお知らせいたします。Apache Sparkは、機械学習やAIを伴う複雑なデータ処理および分析において重要なツールであり、すでに広く浸透しています。 データの永続性やガバナンスを実現するMarkLogicをSparkと一緒に使用した場合、モダンな統合ハブを構築できます。これはSpark単体の場合よりも一貫性やガバナンスが向上しさらにパワフルなものとなります。
Apache Spark用MarkLogicコネクタはこちらからダウンロードいただけます。
Apache Sparkとは?
Apache Sparkは、分析アプリケーション(機械学習、SQL、ストリーミング、グラフなどを含む)用のインメモリの分散型データ処理エンジンです。これは一元化された分析ツールであり、さまざまなデータソース(リレーショナルやNoSQLシステムなど)を扱う拡張性の高いデータパイプラインの構築に幅広く利用されています。Sparkはさまざまなプログラミング言語(Scala、Java、Pythonなど)をサポートしており、データエンジニアリングやデータサイエンスのツールとして人気があります。
MarkLogicにおけるApache Sparkの使用
Apache Sparkは大規模な分析処理において幅広く利用されていますが、それ自身には分散型データパーシステンス層がありません。複数システムからの多様なデータを統合・管理するための一元化されたオペレーショナル(業務用)および分析プラットフォームであるMarkLogicが、この部分において真価を発揮します。
Apache SparkとMarkLogicを一緒に使用することで、データ分析インフラをモダナイズでき、コストやリスクを抑制しながら短期間で結果を創出できます。Apache Spark用MarkLogicコネクタにより、開発者はMarkLogic内のデータに対して高度な分析や機械学習のためのSparkジョブを直接実行できます。これにより、別個のオペレーショナルシステムと分析システム間でデータを移動/整理したりする際に必要であったETLのオーバーヘッドがなくなります。これに代わって、アーキテクチャがシンプルになり、MarkLogicデータハブ内で管理されている持続性のあるデータアセットを利用した分析アプリケーションを短期間で実現できます。
SparkとMarkLogicを一緒に使用したユースケースを以下にいくつかご紹介します。
- 拡張性のあるデータの読み込み: Apache Spark用MarkLogicコネクタにより、データを「そのまま」変更せずにロードするSparkジョブの実装が楽になります。その際、出自やリネージなどのメタデータのトラッキングもできます。Sparkにはすでに多様なデータソース用のコネクタが備わっており、データをバッチおよびストリーミングで容易に読み込めます。これに加えて、リッチなデータ変換機能(ジョイン、フィルタ、ユニオンなど)もあるので、MarkLogicへの読み込み前に複数のソースシステムからのデータを容易にクレンジングおよび統合できます。読み込まれたソースデータを、MarkLogicで統合/キュレーション/エンリッチして持続性のあるデータアセットとすることで、複数のユースケースで利用できます。
- 高度な分析: Sparkには、MLlibなどの機械学習/予測分析用ライブラリのリッチなエコシステムがあります。Spark用MarkLogicコネクタにより、開発者はMarkLogic内のデータに対して高度な分析や機械学習を直接実行できるようになります。また、MarkLogicのマルチモデルクエリ機能を利用できるほか、分析処理用に目的に応じて調整されたデータをSparkライブラリ(ストリーミング、SQL、機械学習など)で安全に共有できます。もう1つのメリットとして、MarkLogicの分散設計により、演算処理キャパシティを容易に拡張してSparkジョブが大量のデータを処理するようにできます。機械学習では、必要な処理キャパシティが大きく変動するのでこれは重要です。
Spark用MarkLogicコネクタはSparkのDataSource APIに準拠しており、シームレスな開発体験を実現します。このコネクタはMarkLogic内のデータをSpark DataFrameとして返します。これはSpark SQLなどのSpark APIによって素早く処理できます。開発者はこれまで身に付けてきたスキルを活用し、Sparkネイティブのライブラリ(SQL、機械学習など)をさまざまなプログラミング言語(Java、Scala、Pythonなど)で使用することで、MarkLogic上に洗練された分析機能を構築できます。
始めてみましょう
MarkLogicとSparkを一緒に使用することで、インテリジェントな分析アプリケーション構築において大きなメリットが得られます。Spark用MarkLogicコネクタにより、「永続性のあるデータアセットの信頼できるソースとしてのMarkLogic」および「高パフォーマンスの分析フレームワークであるSpark」のメリットを最大化できます。
Apache Spark用MarkLogicコネクタの設定に関する詳細な情報については、こちらのマニュアルをご確認ください。Apache Sparkのマニュアルはこちらです。