TalendとApache Beamを使用したデータレイクでのデータプレパレーション

article in English

 

最近、Apache Beam(バージョン2.0)の最初の安定版が最近リリースされたことは、皆さんもすでにご存じかと思います。 Apache Beamは、バッチ及びストリーミングのデータ処理用に設計された高度な統一プログラミングモデルです。非常に強力でポータブルであることから、Talendでも当初から積極的にプロジェクトに貢献してきました。 Talendは最近、Apache BeamをTalend Data Preparationに統合しました。このリリースの新機能については、François Lacasがブログで紹介しているので、ぜひお読みください。ここでは、Apache BeamがTalend Data Preparation製品で実際にどのように動作するのかを説明します。

Apache Beam入門

Apache Beamとは、根本的に、ユーザーが統合パターンと実際のランタイム環境から抽象レイヤーを提供する方法です。この抽象化レイヤーによりBeam SDKを使用したデータ統合プロセスのコーディングが可能になります。プロセスを実行するには、必要な処理アーキテクチャーやランタイム向けにBeamランナーと呼ばれるものを選択します。 これは、Spark、Google Data Flow、Flink等、将来データを処理するために使用する任意のものを選ぶことができます。Beamはさらに、バッチとストリーミングの両方のワークロードに使用できます。Beamは接続先に応じて使用可能なランナーのタイプを認識するということです。コミュニティは、さまざまなプラットフォーム向けに多様なランナーを構築しています。これによって、統合コードからランタイム環境への真の抽象化が実現します。

Beamでデータプレパレーションを強化

次のビデオでは、Talend Data Preparationの2つの主要機能を紹介しています。後半ではBeamの活用を取り上げています。

  1. HDFSファイルシステムから直接データを読み取る
  2. 完全なデータセットをエクスポートする、またはHDFSの別の場所に書き戻す

HDFSからParquetファイルを読み取るため、Talendの新しいコンポーネントカタログフレームワークとSDKを使用しています。ビデオで使用している例では、Parquetにフォーマットされたファイルがメタファイルとデータファイルから成るマルチパートファイルである点に注目してください。Talend Data Preparationはメタデータを読み取り、列ヘッダー名をツールに取り込むことができるようになりました。また、複数のファイル部分全てからサンプリングを行い、データセット全体の品質の高いサンプルをユーザーに提供できます。この操作はビデオで確認できます。

ビデオの後半では、データをHDFSにエクスポートして戻すという素晴らしい機能を紹介しています。背景ではTalend Data Preparationサーバーが、完全なエンドツーエンドのSpark処理ジョブを構築し、そのSparkジョブを前述のとおりにBeamとSparkランナーを使用してクラスターに送信しています。 Talend Data Preparationツールで「エクスポート」を選択し、完全なデータセットをHDFSへエクスポートするよう選択すると、インポートプロセス(コンポーネントカタログ)からの接続情報、準備ステップ(データプレパレーションに必要な変更の「レシピ」)、エクスポート先となるSparkクラスターの場所がエクスポートされます。Talend Data Preparationサーバーはこの情報を全てフローランナーに送信し、フローランナーは全ての情報を取得してApache Beamコードに変換します。 その後、Apache BeamコードがSparkジョブサーバーに送信されます。これは、ユーザーのIT管理チームが設定した適切なセキュリティとアクセス権を使用してSparkクラスターに接続するように構成されたBeam Sparkランナーです。

Sparkジョブサーバー、またはBeamランナーは、ジョブを(ネイティブのSparkコードとして)クラスターのリソースマネージャーに送信し、クラスター内で必要に応じて実行します。Sparkジョブサーバーは、リソースマネージャーのジョブのステータスを監視し、終了時に完了ステータスを報告します。Talend Data Preparationサーバーは、実行したプレパレーションのエクスポート履歴ダイアログで完了ステータスを提供します。

現在のテクノロジーに対応し、将来に備える

このように、Talendはテクノロジーの最先端にあります。ユーザーは、データプレパレーション処理のバックエンドでApache Beamを使用することによって、準備の実行のために使用するソリューションを選択できます。これは、現在はApache Sparkであったとしても、将来はFlinkまたはApexかもしれません。Apache Beamの素晴らしさは選択肢の一つです。どのような処理テクノロジーを選ぶ場合でも、Talend Data Preparationによって、最新データツールを使用するデータの処理とクレンジングが可能になるのです。

Share

Leave a comment

コメントを追加

More information?