Talend-quick-guide
Talend-はじめに
Talendは、データ統合、データ品質、データ管理、データ準備、ビッグデータのソリューションを提供するソフトウェア統合プラットフォームです。 Talendに関する知識を持つETL専門家への需要は高いです。 また、Big Dataエコシステムと簡単に統合できるすべてのプラグインを備えた唯一のETLツールです。
Gartnerによると、Talendはデータ統合ツールのリーダーのマジッククアドラントに該当します。
Talendは以下にリストされているように様々な商用製品を提供しています-
- Talend Data Quality
- Talend Data Integration
- Talend Data Preparation
- Talend Cloud
- Talend Big Data
- Talend MDM(マスターデータ管理)プラットフォーム
- Talend Data Services Platform
- Talend Metadata Manager
- Talend Data Fabric
Talendは、データ統合とビッグデータに広く使用されているオープンソースの無料ツールであるOpen Studioも提供しています。
Talend-システム要件
以下は、Talend Open Studioをダウンロードして動作するためのシステム要件です-
推奨オペレーティングシステム
- Microsoft Windows 10
- Ubuntu 16.04 LTS
- Apple macOS 10.13/High Sierra
メモリー要件
- メモリ-最小4 GB、推奨8 GB
- ストレージスペース-30 GB
また、稼働中のHadoopクラスター(Clouderaが望ましい)も必要です。
注意-環境変数がすでに設定されているJava 8が利用可能でなければなりません。
Talend-インストール
Talend Open Studio for Big Data and Data Integrationをダウンロードするには、以下の手順に従ってください-
- ステップ1 *-ページhttps://www.talend.com/products/big-data/big-data-open-studio/にアクセスし、ダウンロードボタンをクリックします。 TOS_BD_xxxxxxx.zipファイルのダウンロードが開始されていることがわかります。
- ステップ2 *-ダウンロードが完了したら、zipファイルの内容を抽出し、すべてのTalendファイルを含むフォルダーを作成します。
- ステップ3 *-Talendフォルダーを開き、実行可能ファイルTOS_BD-win-x86_64.exeをダブルクリックします。 ユーザーライセンス契約に同意します。
- ステップ4 *-新しいプロジェクトを作成し、[完了]をクリックします。
- ステップ5 *-Windowsセキュリティ警告が表示された場合は、[アクセスを許可]をクリックします。
- ステップ6 *-Talend Open Studioのウェルカムページが開きます。
- ステップ7 *-[完了]をクリックして、必要なサードパーティライブラリをインストールします。
- ステップ8 *-条件に同意し、[完了]をクリックします。
- ステップ9 *-[はい]をクリックします。
これで、Talend Open Studioに必要なライブラリを準備できました。
Talend Open Studio
Talend Open Studioは、データ統合とビッグデータ用の無料のオープンソースETLツールです。 Eclipseベースの開発者ツールおよびジョブデザイナーです。 ETLまたはETLジョブを作成して実行するには、コンポーネントをドラッグアンドドロップして接続するだけです。 このツールは、ジョブのJavaコードを自動的に作成するため、1行のコードを記述する必要はありません。
RDBMS、Excel、SaaSビッグデータエコシステムなどのデータソース、SAP、CRM、Dropboxなどのアプリやテクノロジーに接続するための複数のオプションがあります。
Talend Open Studioが提供するいくつかの重要な利点は以下のとおりです-
- 900個のコンポーネント、組み込みコネクタ、ジョブのJavaコードへの自動変換など、データの統合と同期に必要なすべての機能を提供します。
- このツールは完全に無料であるため、大幅なコスト削減が可能です。
- 過去12年間で、複数の巨大組織がデータ統合にTOSを採用しており、このツールで非常に高い信頼係数を示しています。
- データ統合のためのTalendコミュニティは非常に活発です。
- Talendはこれらのツールに機能を追加し続けており、ドキュメントは適切に構成されており、非常にわかりやすくなっています。
Talend-データ統合
ほとんどの組織は複数の場所からデータを取得し、別々に保存しています。 組織が意思決定を行う必要がある場合、さまざまなソースからデータを取得し、統一されたビューに入れてから分析して結果を得る必要があります。 このプロセスは、データ統合と呼ばれます。
利点
以下に説明するように、データ統合には多くの利点があります-
- 組織データにアクセスしようとする組織内の異なるチーム間のコラボレーションを改善します。
- データが効果的に統合されるため、時間を節約し、データ分析を容易にします。
- 自動化されたデータ統合プロセスにより、データが同期され、リアルタイムおよび定期的なレポート作成が容易になります。そうでなければ、手動で行うと時間がかかります。
- 複数のソースから統合されたデータは、時間の経過とともに成熟および改善され、最終的にはデータ品質の向上に役立ちます。
プロジェクトでの作業
このセクションでは、Talendプロジェクトで作業する方法を理解しましょう-
プロジェクトを作成する
TOS Big Data実行可能ファイルをダブルクリックすると、次のウィンドウが開きます。
[新しいプロジェクトの作成]オプションを選択し、プロジェクトの名前を指定して、[作成]をクリックします。
作成したプロジェクトを選択して、「終了」をクリックします。
プロジェクトのインポート
TOS Big Data実行可能ファイルをダブルクリックすると、次のようなウィンドウが表示されます。 [デモプロジェクトのインポート]オプションを選択し、[選択]をクリックします。
以下に示すオプションから選択できます。 ここでは、データ統合デモを選択しています。 ここで、[完了]をクリックします。
次に、プロジェクトの名前と説明を入力します。 完了をクリックします。
インポートしたプロジェクトは、既存のプロジェクトリストの下に表示されます。
次に、既存のTalendプロジェクトをインポートする方法を理解しましょう。
[既存のプロジェクトをインポート]オプションを選択し、[選択]をクリックします。
プロジェクト名を入力し、「ルートディレクトリを選択」オプションを選択します。
既存のTalendプロジェクトのホームディレクトリを参照して、完了をクリックします。
既存のTalendプロジェクトがインポートされます。
プロジェクトを開く
既存のプロジェクトからプロジェクトを選択し、「終了」をクリックします。 これにより、そのTalendプロジェクトが開きます。
プロジェクトを削除する
プロジェクトを削除するには、接続の管理をクリックします。
[既存のプロジェクトを削除]をクリックします
削除するプロジェクトを選択し、[OK]をクリックします。
もう一度[OK]をクリックします。
プロジェクトのエクスポート
[プロジェクトのエクスポート]オプションをクリックします。
エクスポートするプロジェクトを選択し、エクスポートする場所へのパスを指定します。 完了をクリックします。
Talend-モデルの基本
ビジネスモデルは、データ統合プロジェクトのグラフィカルな表現です。 これは、ビジネスのワークフローを非技術的に表現したものです。
ビジネスモデルが必要な理由
ビジネスモデルは、あなたが何をしているのかを上級管理職に示すために構築されます。また、チームはあなたが達成しようとしていることを理解することもできます。 ビジネスモデルの設計は、組織がデータ統合プロジェクトの開始時に採用するベストプラクティスの1つと見なされます。 また、コスト削減に役立つとともに、プロジェクトのボトルネックを見つけて解決します。 必要に応じて、プロジェクトの実装中および実装後にモデルを変更できます。
Talend Open Studioでビジネスモデルを作成する
Talendオープンスタジオは、ビジネスモデルを作成および設計するための複数の形状とコネクタを提供します。 ビジネスモデルの各モジュールには、ドキュメントを添付できます。
Talend Open Studioは、ビジネスモデルを作成するための次の形状とコネクタオプションを提供しています-
- 決定-この形状は、モデルにif条件を設定するために使用されます。
- アクション-この形状は、変換、翻訳、またはフォーマットを表示するために使用されます。
- Terminal -この形状は出力端子タイプを示します。
- データ-この形状は、データタイプの表示に使用されます。
- ドキュメント-この形状は、処理されるデータの入出力に使用できるドキュメントオブジェクトを挿入するために使用されます。
- 入力-この形状は、ユーザーがデータを手動で渡すことができる入力オブジェクトを挿入するために使用されます。
- リスト-この形状には抽出されたデータが含まれ、リスト内の特定の種類のデータのみを保持するように定義できます。
- データベース-この形状は、入力/出力データを保持するために使用されます。
- 俳優-この形状は、意思決定と技術プロセスに関与する個人を象徴しています
- Ellipse -楕円形を挿入します。 + ギア-この形状は、Talendジョブに置き換える必要がある手動プログラムを示しています。
Talend-データ統合のためのコンポーネント
Talendのすべての操作は、コネクタとコンポーネントによって実行されます。 Talendは、複数の操作を実行するための800以上のコネクタとコンポーネントを提供しています。 これらのコンポーネントはパレットに存在し、コンポーネントが属する21の主要なカテゴリがあります。 コネクタを選択してデザイナーペインにドラッグアンドドロップするだけで、Talendコードを保存するとコンパイルされるJavaコードが自動的に作成されます。
コンポーネントを含む主なカテゴリを以下に示します-
以下は、Talend Open Studioでのデータ統合のために広く使用されているコネクタとコンポーネントのリストです-
- tMysqlConnection -コンポーネントで定義されたMySQLデータベースに接続します。
- tMysqlInput -データベースクエリを実行して、データベースを読み取り、クエリに応じてフィールド(テーブル、ビューなど)を抽出します。
- tMysqlOutput -MySQLデータベースのデータの書き込み、更新、変更に使用されます。
- tFileInputDelimited -区切りファイルを行ごとに読み取り、それらを個別のフィールドに分割して、次のコンポーネントに渡します。
- tFileInputExcel -Excelファイルを行ごとに読み取り、それらを個別のフィールドに分割して、次のコンポーネントに渡します。
- tFileList -指定されたファイルマスクパターンからすべてのファイルとディレクトリを取得します。
- tFileArchive -一連のファイルまたはフォルダーをzip、gzip、またはtar.gzアーカイブファイルに圧縮します。
- tRowGenerator -関数を記述したり、式を選択してサンプルデータを生成できるエディターを提供します。
- tMsgBox -指定されたメッセージと[OK]ボタンを含むダイアログボックスを返します。
- tLogRow -処理されるデータを監視します。 実行コンソールにデータ/出力を表示します。
- tPreJob -実際のジョブが開始する前に実行されるサブジョブを定義します。
- tMap -Talend studioのプラグインとして機能します。 1つ以上のソースからデータを取得して変換し、変換されたデータを1つ以上の宛先に送信します。
- tJoin -メインフローとルックアップフローの間で内部結合と外部結合を実行して、2つのテーブルを結合します。
- tJava -TalendプログラムでパーソナライズされたJavaコードを使用できるようにします。
- tRunJob -Talendジョブを次々に実行することにより、複雑なジョブシステムを管理します。
Talend-ジョブデザイン
これは、ビジネスモデルの技術的な実装/グラフィック表示です。 この設計では、1つ以上のコンポーネントが互いに接続されて、データ統合プロセスが実行されます。 したがって、コンポーネントをデザインペインにドラッグアンドドロップし、コネクタに接続すると、ジョブデザインはすべてをコードに変換し、データフローを形成する完全な実行可能プログラムを作成します。
ジョブを作成する
リポジトリウィンドウで、[ジョブデザイン]を右クリックし、[ジョブの作成]をクリックします。
ジョブの名前、目的、および説明を入力して、「終了」をクリックします。
Job Designでジョブが作成されたことを確認できます。
次に、このジョブを使用してコンポーネントを追加し、接続して構成します。 ここでは、Excelファイルを入力として使用し、同じデータでExcelファイルを出力として生成します。
コンポーネントをジョブに追加する
パレットにはいくつかのコンポーネントがあります。 検索オプションもあり、コンポーネントの名前を入力して選択できます。
ここでは、Excelファイルを入力として使用しているので、tFileInputExcelコンポーネントをパレットからDesignerウィンドウにドラッグアンドドロップします。
デザイナーウィンドウのどこかをクリックすると、検索ボックスが表示されます。 tLogRowを見つけて選択し、デザイナーウィンドウに表示します。
最後に、パレットからtFileOutputExcelコンポーネントを選択し、デザイナーウィンドウにドラッグアンドドロップします。
これで、コンポーネントの追加が完了しました。
コンポーネントの接続
コンポーネントを追加したら、それらを接続する必要があります。 最初のコンポーネントtFileInputExcelを右クリックし、以下に示すようにtLogRowにメインラインを描画します。
同様に、tLogRowを右クリックして、tFileOutputExcelにメインラインを描画します。 これで、コンポーネントが接続されました。
コンポーネントの構成
ジョブにコンポーネントを追加して接続した後、それらを構成する必要があります。 そのためには、最初のコンポーネントtFileInputExcelをダブルクリックして構成します。 以下に示すように、ファイル名/ストリームに入力ファイルのパスを指定します。
Excelの1 ^ st ^行に列名がある場合は、ヘッダーオプションに1を入力します。
[スキーマの編集]をクリックし、入力Excelファイルに従って列とそのタイプを追加します。 スキーマを追加したら、[OK]をクリックします。
はいをクリックします。
tLogRowコンポーネントで、同期列をクリックし、入力から行を生成するモードを選択します。 ここでは、フィールド区切り文字として「、」を使用して基本モードを選択しました。
最後に、tFileOutputExcelコンポーネントで、保存するファイル名のパスを指定します
出力Excelファイルとシート名。 同期列をクリックします。
ジョブを実行する
コンポーネントの追加、接続、設定が完了したら、Talendジョブを実行する準備が整います。 [実行]ボタンをクリックして、実行を開始します。
出力は、「、」セパレータ付きの基本モードで表示されます。
また、指定した出力パスに出力がExcelとして保存されていることもわかります。
Talend-メタデータ
メタデータは基本的にデータに関するデータを意味します。 それは、何の、いつ、なぜ、誰が、どこで、どのように、どのようにデータについて説明します。 Talendでは、メタデータにはTalend studioに存在するデータに関するすべての情報が含まれています。 メタデータオプションは、Talend Open Studioのリポジトリペイン内にあります。
Talendメタデータの下には、DB接続、さまざまな種類のファイル、LDAP、Azure、Salesforce、WebサービスFTP、Hadoopクラスターなどのさまざまなソースがあります。
Talend Open Studioでのメタデータの主な用途は、これらのデータソースを複数のジョブで、リポジトリパネルのメタデータから簡単にドラッグアンドドロップするだけで使用できることです。
Talend-コンテキスト変数
コンテキスト変数は、異なる環境で異なる値を持つことができる変数です。 複数のコンテキスト変数を保持できるコンテキストグループを作成できます。 各コンテキスト変数を1つずつジョブに追加する必要はありません。単に、コンテキストグループをジョブに追加できます。
これらの変数は、コード生成の準備を整えるために使用されます。 コンテキスト変数を使用することにより、開発、テスト、または実稼働環境でコードを移動でき、すべての環境で実行されます。
どのジョブでも、下に示すように[コンテキスト]タブに移動して、コンテキスト変数を追加できます。
Talend-ジョブの管理
この章では、Talendに含まれるジョブと対応する機能の管理について見ていきましょう。
コンポーネントの有効化/無効化
コンポーネントの有効化/無効化は非常に簡単です。 コンポーネントを選択して右クリックし、そのコンポーネントの無効化または有効化オプションを選択するだけです。
アイテムのインポート/エクスポートおよびジョブの構築
ジョブからアイテムをエクスポートするには、ジョブデザインでジョブを右クリックし、[アイテムのエクスポート]をクリックします。
アイテムをエクスポートするパスを入力し、[完了]をクリックします。
ジョブからアイテムをインポートするには、ジョブデザインでジョブを右クリックし、[アイテムのインポート]をクリックします。
アイテムをインポートするルートディレクトリを参照します。
すべてのチェックボックスを選択して、[完了]をクリックします。
Talend-ジョブ実行の処理
この章では、Talendでのジョブ実行の処理について理解しましょう。
ジョブをビルドするには、ジョブを右クリックして、[ジョブのビルド]オプションを選択します。
ジョブをアーカイブするパスを指定し、ジョブバージョンとビルドタイプを選択して、[完了]をクリックします。
通常モードでジョブを実行する方法
通常のノードでジョブを実行するには、「基本実行」を選択し、実行を開始する実行ボタンをクリックする必要があります。
デバッグモードでジョブを実行する方法
デバッグモードでジョブを実行するには、デバッグするコンポーネントにブレークポイントを追加します。
次に、コンポーネントを選択して右クリックし、[ブレークポイントの追加]オプションをクリックします。 ここで、tFileInputExcelおよびtLogRowコンポーネントにブレークポイントを追加したことに注目してください。 次に、[デバッグの実行]に移動し、[Javaデバッグ]ボタンをクリックします。
次のスクリーンショットから、これまで説明したブレークポイントに従って、ジョブがデバッグモードで実行されることがわかります。
高度な設定
詳細設定では、統計、実行時間、実行前にジョブを保存、実行前にクリア、JVM設定から選択できます。 このオプションのそれぞれには、ここで説明されている機能があります-
- 統計-処理のパフォーマンスレートを表示します。
- 実行時間-ジョブの実行にかかった時間。
- 実行前にジョブを保存-実行開始前にジョブを自動的に保存します。
- 実行前にクリア-出力コンソールからすべてを削除します。
- * JVM設定*-独自のJava引数を設定するのに役立ちます。
Talend-ビッグデータ
ビッグデータを備えたOpen Studioのタグラインは、「ビッグデータ用の主要な無料オープンソースETLツールでETLとELTを簡素化する」です。この章では、ビッグデータ環境でデータを処理するツールとしてのTalendの使用方法を見てみましょう。
前書き
Talend Open Studio –ビッグデータは、ビッグデータ環境で非常に簡単にデータを処理するための無料のオープンソースツールです。 Talend Open Studioには多数のビッグデータコンポーネントがあり、いくつかのHadoopコンポーネントをドラッグアンドドロップするだけでHadoopジョブを作成および実行できます。
また、MapReduceコードの大きな行を記述する必要はありません。 Talend Open Studioビッグデータは、そこに存在するコンポーネントを使用してこれを行うのに役立ちます。 MapReduceコードを自動的に生成します。コンポーネントをドラッグアンドドロップし、いくつかのパラメーターを設定するだけです。
また、Cloudera、HortonWorks、MapR、Amazon EMR、Apacheなどの複数のビッグデータディストリビューションと接続するオプションも提供します。
ビッグデータ向けのTalendコンポーネント
ビッグデータの下に含まれるビッグデータ環境でジョブを実行するためのコンポーネントを持つカテゴリのリストを以下に示します-
Talend Open Studioのビッグデータコネクタとコンポーネントのリストを以下に示します-
- tHDFSConnection -HDFS(Hadoop Distributed File System)への接続に使用されます。
- tHDFSInput -指定されたhdfsパスからデータを読み取り、talendスキーマに入れてから、ジョブの次のコンポーネントに渡します。
- tHDFSList -指定されたhdfsパス内のすべてのファイルとフォルダーを取得します。
- tHDFSPut -指定されたパスでローカルファイルシステム(ユーザー定義)からhdfsにファイル/フォルダーをコピーします。
- tHDFSGet -指定されたパスでhdfsからローカルファイルシステム(ユーザー定義)にファイル/フォルダーをコピーします。
- tHDFSDelete -HDFSからファイルを削除します
- tHDFSExist -ファイルがHDFSに存在するかどうかを確認します。
- tHDFSOutput -HDFSにデータフローを書き込みます。
- tCassandraConnection -Cassandraサーバーへの接続を開きます。
- tCassandraRow -指定されたデータベースでCQL(Cassandraクエリ言語)クエリを実行します。
- tHBaseConnection -HBaseデータベースへの接続を開きます。
- tHBaseInput -HBaseデータベースからデータを読み取ります。
- tHiveConnection -Hiveデータベースへの接続を開きます。
- tHiveCreateTable -ハイブデータベース内にテーブルを作成します。
- tHiveInput -ハイブデータベースからデータを読み取ります。
- tHiveLoad -ハイブテーブルまたは指定されたディレクトリにデータを書き込みます。
- tHiveRow -指定されたデータベースでHiveQLクエリを実行します。
- tPigLoad -入力データを出力ストリームにロードします。
- tPigMap -pigプロセスでデータを変換およびルーティングするために使用されます。
- tPigJoin -結合キーに基づいて2つのファイルの結合操作を実行します。
- tPigCoGroup -複数の入力からのデータをグループ化および集約します。
- tPigSort -1つまたは複数の定義済みソートキーに基づいて、指定されたデータをソートします。
- tPigStoreResult -pig操作の結果を定義済みのストレージスペースに保存します。
- tPigFilterRow -指定された条件に基づいてデータを分割するために、指定された列をフィルタリングします。
- tPigDistinct -リレーションから重複するタプルを削除します。
- tSqoopImport -MySQL、Oracle DBなどのリレーショナルデータベースからHDFSにデータを転送します。
- tSqoopExport -データをHDFSからMySQL、Oracle DBなどのリレーショナルデータベースに転送します
Talend-Hadoop分散ファイルシステム
この章では、TalendがHadoop分散ファイルシステムとどのように機能するかについて詳しく説明します。
設定と前提条件
HDFSでTalendに進む前に、この目的のために満たすべき設定と前提条件について学習する必要があります。
ここでは、仮想ボックスでClouderaクイックスタート5.10 VMを実行しています。 このVMではホストオンリーネットワークを使用する必要があります。
ホストオンリーネットワークIP:192.168.56.101
また、Cloudera Managerで同じホストを実行する必要があります。
Windowsシステムで、c:\ Windows \ System32 \ Drivers \ etc \ hostsに移動し、次のようにメモ帳を使用してこのファイルを編集します。
同様に、clouderaクイックスタートVMで、次のように/etc/hostsファイルを編集します。
Hadoop接続のセットアップ
リポジトリパネルで、メタデータに移動します。 Hadoopクラスターを右クリックして、新しいクラスターを作成します。 このHadoopクラスター接続の名前、目的、および説明を入力します。
Nextをクリックしてください。
clouderaとしてディストリビューションを選択し、使用しているバージョンを選択します。 設定の取得オプションを選択し、「次へ」をクリックします。
以下に示すように、マネージャーの資格情報(URI、ポート、ユーザー名、パスワード)を入力し、[接続]をクリックします。 詳細が正しい場合、検出されたクラスターの下にCloudera QuickStartが表示されます。
[取得]をクリックします。 これにより、HDFS、YARN、HBASE、HIVEのすべての接続と構成が取得されます。
[すべて]を選択し、[完了]をクリックします。
すべての接続パラメーターが自動入力されることに注意してください。 ユーザー名にclouderaを記載し、[完了]をクリックします。
これで、Hadoopクラスターに正常に接続されました。
HDFSへの接続
このジョブでは、HDFSに存在するすべてのディレクトリとファイルをリストします。
まず、ジョブを作成してからHDFSコンポーネントを追加します。 Job Designを右クリックして、新しいジョブhadoopjobを作成します。
次に、パレットから2つのコンポーネント、tHDFSConnectionとtHDFSListを追加します。 tHDFSConnectionを右クリックし、「OnSubJobOk」トリガーを使用してこれら2つのコンポーネントを接続します。
次に、両方のtalend hdfsコンポーネントを構成します。
tHDFSConnectionで、プロパティタイプとしてリポジトリを選択し、前に作成したHadoop clouderaクラスターを選択します。 このコンポーネントに必要なすべての必要な詳細が自動入力されます。
tHDFSListで[既存の接続を使用する]を選択し、コンポーネントリストで構成したtHDFSConnectionを選択します。
[HDFSディレクトリ内のHDFSのホームパス]オプションを指定し、右側の参照ボタンをクリックします。
上記の構成を使用して接続を適切に確立すると、次のようなウィンドウが表示されます。 HDFSホームに存在するすべてのディレクトリとファイルがリストされます。
これを確認するには、clouderaでHDFSを確認します。
HDFSからのファイルの読み取り
このセクションでは、TalendでHDFSからファイルを読み取る方法を理解しましょう。 この目的のために新しいジョブを作成できますが、ここでは既存のジョブを使用しています。
パレットからデザイナーウィンドウに3つのコンポーネント(tHDFSConnection、tHDFSInput、およびtLogRow)をドラッグアンドドロップします。
tHDFSConnectionを右クリックし、「OnSubJobOk」トリガーを使用してtHDFSInputコンポーネントを接続します。
tHDFSInputを右クリックして、メインリンクをtLogRowにドラッグします。
tHDFSConnectionの構成は以前と同様であることに注意してください。 tHDFSInputで「既存の接続を使用」を選択し、コンポーネントリストからtHDFSConnectionを選択します。
[ファイル名]で、読み取りたいファイルのHDFSパスを指定します。 ここでは単純なテキストファイルを読み込んでいるので、ファイルタイプはテキストファイルです。 同様に、入力に応じて、以下で説明するように行セパレーター、フィールドセパレーター、ヘッダーの詳細を入力します。 最後に、[スキーマの編集]ボタンをクリックします。
ファイルにはプレーンテキストが含まれているため、String型の列を1つだけ追加しています。 次に、[OK]をクリックします。
注意-入力に異なるタイプの複数の列がある場合、それに応じてスキーマをここに記述する必要があります。
tLogRowコンポーネントで、[スキーマの編集で列を同期]をクリックします。
出力を印刷するモードを選択します。
最後に、「実行」をクリックしてジョブを実行します。
HDFSファイルの読み取りに成功すると、次の出力を確認できます。
HDFSへのファイルの書き込み
TalendでHDFSからファイルを書き込む方法を見てみましょう。 パレットからデザイナーウィンドウに3つのコンポーネント(tHDFSConnection、tFileInputDelimited、およびtHDFSOutput)をドラッグアンドドロップします。
tHDFSConnectionを右クリックし、「OnSubJobOk」トリガーを使用してtFileInputDelimitedコンポーネントを接続します。
tFileInputDelimitedを右クリックして、メインリンクをtHDFSOutputにドラッグします。
tHDFSConnectionの構成は以前と同様であることに注意してください。
次に、tFileInputDelimitedで、[ファイル名/ストリーム]オプションに入力ファイルのパスを指定します。 ここでは、csvファイルを入力として使用しているため、フィールド区切り文字は「、」です。
入力ファイルに応じて、ヘッダー、フッター、制限を選択します。 1行には列名が含まれ、最初の3行のみをHDFSに書き込むため、制限は3であるため、ヘッダーは1であることに注意してください。
次に、[スキーマの編集]をクリックします。
次に、入力ファイルに従って、スキーマを定義します。 入力ファイルには、次のように3つの列があります。
tHDFSOutputコンポーネントで、列の同期をクリックします。 次に、[既存の接続を使用する]で[tHDFSConnection]を選択します。 また、[ファイル名]で、ファイルを書き込むHDFSパスを指定します。
ファイルタイプはテキストファイル、アクションは「作成」、行区切りは「\ n」、フィールド区切りは「;」になります。
最後に、「実行」をクリックしてジョブを実行します。 ジョブが正常に実行されたら、ファイルがHDFSにあるかどうかを確認します。
ジョブで言及した出力パスを使用して、次のhdfsコマンドを実行します。
HDFSでの書き込みに成功すると、次の出力が表示されます。
Talend-マップリデュース
前の章で、ビッグデータでTalendがどのように機能するかを見てきました。 この章では、map ReduceをTalendで使用する方法を理解しましょう。
Talend MapReduceジョブの作成
TalendでMapReduceジョブを実行する方法を学びましょう。 ここでは、MapReduceの単語カウントの例を実行します。
この目的のために、[ジョブデザイン]を右クリックして、新しいジョブMapreduceJobを作成します。 ジョブの詳細に言及して、[完了]をクリックします。
MapReduceジョブへのコンポーネントの追加
コンポーネントをMapReduceジョブに追加するには、Talendの5つのコンポーネント、tHDFSInput、tNormalize、tAggregateRow、tMap、tOutputをパレットからデザイナーウィンドウにドラッグアンドドロップします。 tHDFSInputを右クリックして、tNormalizeへのメインリンクを作成します。
tNormalizeを右クリックして、tAggregateRowへのメインリンクを作成します。 次に、tAggregateRowを右クリックして、tMapへのメインリンクを作成します。 次に、tMapを右クリックして、tHDFSOutputへのメインリンクを作成します。
コンポーネントと変換の構成
tHDFSInputで、ディストリビューションclouderaとそのバージョンを選択します。 Namenode URIは「hdfs://quickstart.cloudera:8020」であり、ユーザー名は「cloudera」であることに注意してください。 ファイル名オプションで、MapReduceジョブへの入力ファイルのパスを指定します。 この入力ファイルがHDFSに存在することを確認してください。
次に、入力ファイルに応じて、ファイルタイプ、行区切り文字、ファイル区切り文字、ヘッダーを選択します。
[スキーマの編集]をクリックし、フィールド「行」を文字列タイプとして追加します。
tNomalizeでは、正規化する列は行になり、アイテムセパレータは空白→““になります。 次に、[スキーマの編集]をクリックします。 以下に示すように、tNormalizeには行列があり、tAggregateRowにはwordとwordcountの2つの列があります。
tAggregateRowで、グループ化オプションに出力列としてwordを配置します。 操作では、wordcountを出力列として、functionをcountとして、入力列の位置を行として入力します。
tMapコンポーネントをダブルクリックしてマップエディターに入り、入力を必要な出力にマップします。 この例では、wordはwordにマップされ、wordcountはwordcountにマップされます。 式の列で、[…]をクリックして式ビルダーを入力します。
ここで、カテゴリリストとUPCASE関数からStringHandlingを選択します。 式を「StringHandling.UPCASE(row3.word)」に編集して、「OK」をクリックします。 以下に示すように、wordcountに対応する式列にrow3.wordcountを保持します。
tHDFSOutputで、プロパティタイプからリポジトリとして作成したHadoopクラスターに接続します。 フィールドが自動入力されることを確認します。 [ファイル名]で、出力を保存する出力パスを指定します。 以下に示すように、アクション、行セパレーター、およびフィールドセパレーターを保持します。
MapReduceジョブの実行
構成が正常に完了したら、[実行]をクリックしてMapReduceジョブを実行します。
HDFSパスに移動して、出力を確認します。 すべての単語は単語カウントとともに大文字になります。
Talend-Pigを使用する
この章では、TalendでPigジョブを扱う方法を学びましょう。
Talend Pigジョブの作成
このセクションでは、TalendでPigジョブを実行する方法を学びましょう。 ここでは、NYSEデータを処理して、IBMの平均在庫量を調べます。
このために、[ジョブデザイン]を右クリックして、新しいジョブpigjobを作成します。 ジョブの詳細に言及して、[完了]をクリックします。
Pigジョブへのコンポーネントの追加
コンポーネントをPigジョブに追加するには、4つのTalendコンポーネント(tPigLoad、tPigFilterRow、tPigAggregate、tPigStoreResult)をパレットからデザイナーウィンドウにドラッグアンドドロップします。
次に、tPigLoadを右クリックし、tPigFilterRowにPig Combine行を作成します。 次に、tPigFilterRowを右クリックし、tPigAggregateにPig Combine行を作成します。 tPigAggregateを右クリックして、tPigStoreResultへのPig結合ラインを作成します。
コンポーネントと変換の構成
tPigLoadで、clouderaおよびclouderaのバージョンとして配布に言及します。 Namenode URIは「hdfs://quickstart.cloudera:8020」であり、Resource Managerは「quickstart.cloudera:8020」であることに注意してください。 また、ユーザー名は「cloudera」にする必要があります。
入力ファイルURIで、NYSE入力ファイルのパスをpigジョブに指定します。 この入力ファイルはHDFSに存在する必要があることに注意してください。
[スキーマの編集]をクリックし、以下に示すように列とそのタイプを追加します。
tPigFilterRowで、「高度なフィルターを使用」オプションを選択し、フィルターオプションに「stock_symbol = = ‘IBM」と入力します。
tAggregateRowで、スキーマの編集をクリックし、以下に示すように出力にavg_stock_volume列を追加します。
次に、stock_exchange列をグループ化オプションに追加します。 操作フィールドにavg_stock_volume列を追加し、入力関数としてcount Functionとstock_exchangeを追加します。
tPigStoreResultで、Pigジョブの結果を保存する結果フォルダーURIの出力パスを指定します。 保存機能をPigStorageとして選択し、フィールド区切り記号(必須ではない)を「\ t」として選択します。
豚の仕事を実行する
次に、実行をクリックして、Pigジョブを実行します。 (警告を無視)
ジョブが終了したら、pigジョブの結果を保存するために言及したHDFSパスで出力を確認します。 IBMの平均在庫量は500です。
Talend-ハイブ
この章では、TalendでHiveジョブを操作する方法を理解しましょう。
Talend Hiveジョブの作成
例として、NYSEデータをハイブテーブルにロードし、基本的なハイブクエリを実行します。 Job Designを右クリックして、新しいジョブ(hivejob)を作成します。 ジョブの詳細に言及し、[完了]をクリックします。
Hiveジョブへのコンポーネントの追加
コンポーネントをHiveジョブに割り当てるには、パレットからデザイナーウィンドウにtHiveConnection、tHiveCreateTable、tHiveLoad、tHiveInput、およびtLogRowの5つのタレンドコンポーネントをドラッグアンドドロップします。 次に、tHiveConnectionを右クリックして、tHiveCreateTableに対するOnSubjobOkトリガーを作成します。 ここで、tHiveCreateTableを右クリックして、tHiveLoadへのOnSubjobOkトリガーを作成します。 tHiveLoadを右クリックし、tHiveInputで反復トリガーを作成します。 最後に、tHiveInputを右クリックして、tLogRowへのメインラインを作成します。
コンポーネントと変換の構成
tHiveConnectionで、使用しているclouderaとそのバージョンとしてディストリビューションを選択します。 接続モードはスタンドアロンになり、HiveサービスはHive 2になります。 また、次のパラメータがそれに応じて設定されているかどうかを確認してください-
- ホスト:「quickstart.cloudera」
- ポート:「10000」
- データベース:「デフォルト」
- ユーザー名:「ハイブ」
パスワードは自動入力されるため、編集する必要はありません。 他のHadoopプロパティもデフォルトで事前設定および設定されます。
tHiveCreateTableで、[既存の接続を使用]を選択し、tHiveConnectionをコンポーネントリストに配置します。 デフォルトのデータベースに作成するテーブル名を指定します。 以下に示すように、他のパラメーターを保持します。
tHiveLoadで、「既存の接続を使用する」を選択し、コンポーネントリストにtHiveConnectionを配置します。 [読み込み]アクションで[読み込み]を選択します。 [ファイルパス]で、NYSE入力ファイルのHDFSパスを指定します。 入力をロードするテーブルをテーブル名に記載します。 以下に示すように、他のパラメーターを保持します。
tHiveInputで、[既存の接続を使用する]を選択し、tHiveConnectionをコンポーネントリストに配置します。 [スキーマの編集]をクリックし、以下のスキーマスナップショットに示すように列とそのタイプを追加します。 ここで、tHiveCreateTableで作成したテーブル名を指定します。
Hiveテーブルで実行するクエリオプションにクエリを配置します。 ここでは、テストハイブテーブルの最初の10行のすべての列を印刷しています。
tLogRowで、列の同期をクリックし、出力を表示するためにテーブルモードを選択します。
Hiveジョブの実行
実行をクリックして実行を開始します。 すべての接続とパラメーターが正しく設定されている場合、以下に示すようにクエリの出力が表示されます。