Talend Data MapperでSparkを使用
Apache Spark (別称「Spark」)は、Talend Data Mapperで大型の入力ファイルを扱う場合に便利です。Sparkでは変換作業の前にファイル全体をメモリにロードせずにファイルをストリームしてマッピングを処理するため、そのスピードを十分に活用できます。
大型の入力ファイルのインポート時にSparkとTalend Data Mapperの機能を一緒にテストする場合は、いかに簡単にそのテストを実行できるかこのシナリオでわかります。
Apache Sparkの詳細は、http://spark.apache.org/で公式ドキュメンテーションをご覧ください。Talend Data Mapperの詳細は、Talend Data Mapperユーザーガイドを参照してください。
前提条件
Talend Studioには、ジョブを実行できるローカルのSpark環境が含まれています。次のシナリオを正しく実行できるよう、設定可能な環境の例を示します。
- Hadoop Distributed File System (HDFS)とSparkサービスが有効になっており、ClouderaがクラスターとしてインストールされているGoogle Cloud PlatformのCentOSサーバーの3つのインスタンス
- Windows 10クライアント
Hadoopクラスターに接続
手順
Talend Data Mapperストラクチャーを作成
マップ用にストラクチャーを作成します。
始める前に
firstName,lastName,age
John,Doe,20
Jane,Doe,35
Kid,Doe,02
手順
HDFS接続でビッグデータバッチジョブを作成
Hadoopクラスターとストラクチャーを作成した後は、tHDFSConfiguration、tHMapInput、tLogRowという3つのコンポーネントを含んでいるビッグデータバッチジョブをデザインします。
手順
マップを設定してジョブを実行
入力から出力ストラクチャーにエレメントをマッピングし、ジョブを実行します。
手順
ジョブのトラブルシューティング
サンプルシナリオの実行中にエラーが発生した場合は、ジョブが正しく実行できるソリューションをいくつか参照してください。
-
Clouderaの不正な設定: Clouderaでは、クラスターが同製品の内部用FQDN (完全修飾ドメイン名)で設定されてしまうことがあります。これが該当する場合は、接続エラーを回避できるよう、お使いのホストファイルに追加操作を行う必要があります。
それを実行するには、C:\\Windows\System32\drivers\etcに移動し、管理者としてホストファイルを開きます。次に、お使いのクラスターの外部IPアドレスと内部FQDNを追加します。ファイルを保存します。
以上の操作によって、Clouderaが内部FQDNを使用するようになります。
-
ビッグデータバッチジョブに共通するエラー:Talend Studioとは異なるサーバーに存在するHadoopクラスターに接続している場合、次のエラーは無視して構いません。このエラーは、Sparkワーカーをローカルに実行するwinutilsを探すだけのものです。このエラーが発生しないようにするには、winutilsをダウンロードして抽出します。その抽出先をHadoopのホームディレクトリーとして設定します。