Talend-quick-guide

提供:Dev Guides
移動先:案内検索

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セキュリティ警告が表示された場合は、[アクセスを許可]をクリックします。

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コンポーネントを選択し、デザイナーウィンドウにドラッグアンドドロップします。

Excelファイル出力

これで、コンポーネントの追加が完了しました。

新しい仕事

コンポーネントの接続

コンポーネントを追加したら、それらを接続する必要があります。 最初のコンポーネントtFileInputExcelを右クリックし、以下に示すようにtLogRowにメインラインを描画します。

コンポーネントの接続

同様に、tLogRowを右クリックして、tFileOutputExcelにメインラインを描画します。 これで、コンポーネントが接続されました。

接続されたコンポーネント メインラインを描画

コンポーネントの構成

ジョブにコンポーネントを追加して接続した後、それらを構成する必要があります。 そのためには、最初のコンポーネントtFileInputExcelをダブルクリックして構成します。 以下に示すように、ファイル名/ストリームに入力ファイルのパスを指定します。

Excelの1 ^ st ^行に列名がある場合は、ヘッダーオプションに1を入力します。

ヘッダーオプション

[スキーマの編集]をクリックし、入力Excelファイルに従って列とそのタイプを追加します。 スキーマを追加したら、[OK]をクリックします。

スキーマの追加

はいをクリックします。

伝播

tLogRowコンポーネントで、同期列をクリックし、入力から行を生成するモードを選択します。 ここでは、フィールド区切り文字として「、」を使用して基本モードを選択しました。

進捗情報

最後に、tFileOutputExcelコンポーネントで、保存するファイル名のパスを指定します

列の同期

出力Excelファイルとシート名。 同期列をクリックします

ジョブを実行する

コンポーネントの追加、接続、設定が完了したら、Talendジョブを実行する準備が整います。 [実行]ボタンをクリックして、実行を開始します。

Basic Run Log Row

出力は、「、」セパレータ付きの基本モードで表示されます。

基本モード

また、指定した出力パスに出力が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で同じホストを実行する必要があります。

Cloudera Manager

Windowsシステムで、c:\ Windows \ System32 \ Drivers \ etc \ hostsに移動し、次のようにメモ帳を使用してこのファイルを編集します。

Windowsシステム

同様に、clouderaクイックスタートVMで、次のように/etc/hostsファイルを編集します。

sudo gedit/etc/hosts

ホスト

Hadoop接続のセットアップ

リポジトリパネルで、メタデータに移動します。 Hadoopクラスターを右クリックして、新しいクラスターを作成します。 このHadoopクラスター接続の名前、目的、および説明を入力します。

Nextをクリックしてください。

Hadoop接続

clouderaとしてディストリビューションを選択し、使用しているバージョンを選択します。 設定の取得オプションを選択し、「次へ」をクリックします。

Hadoop設定

以下に示すように、マネージャーの資格情報(URI、ポート、ユーザー名、パスワード)を入力し、[接続]をクリックします。 詳細が正しい場合、検出されたクラスターの下にCloudera QuickStartが表示されます。

マネージャー資格情報

[取得]をクリックします。 これにより、HDFS、YARN、HBASE、HIVEのすべての接続と構成が取得されます。

[すべて]を選択し、[完了]をクリックします。

クリックフェッチ

すべての接続パラメーターが自動入力されることに注意してください。 ユーザー名にclouderaを記載し、[完了]をクリックします。

接続パラメーター

これで、Hadoopクラスターに正常に接続されました。

Hadoopクラスター

HDFSへの接続

このジョブでは、HDFSに存在するすべてのディレクトリとファイルをリストします。

まず、ジョブを作成してからHDFSコンポーネントを追加します。 Job Designを右クリックして、新しいジョブhadoopjobを作成します。

次に、パレットから2つのコンポーネント、tHDFSConnectionとtHDFSListを追加します。 tHDFSConnectionを右クリックし、「OnSubJobOk」トリガーを使用してこれら2つのコンポーネントを接続します。

次に、両方のtalend hdfsコンポーネントを構成します。

Connecting Hdfs

tHDFSConnectionで、プロパティタイプとしてリポジトリを選択し、前に作成したHadoop clouderaクラスターを選択します。 このコンポーネントに必要なすべての必要な詳細が自動入力されます。

プロパティタイプ

tHDFSListで[既存の接続を使用する]を選択し、コンポーネントリストで構成したtHD​​FSConnectionを選択します。

[HDFSディレクトリ内のHDFSのホームパス]オプションを指定し、右側の参照ボタンをクリックします。

参照ボタン

上記の構成を使用して接続を適切に確立すると、次のようなウィンドウが表示されます。 HDFSホームに存在するすべてのディレクトリとファイルがリストされます。

Hdfs Browse

これを確認するには、clouderaでHDFSを確認します。

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 dfs -cat/input/talendwrite

HDFSでの書き込みに成功すると、次の出力が表示されます。

書き込み成功

Talend-マップリデュース

前の章で、ビッグデータでTalendがどのように機能するかを見てきました。 この章では、map ReduceをTalendで使用する方法を理解しましょう。

Talend MapReduceジョブの作成

TalendでMapReduceジョブを実行する方法を学びましょう。 ここでは、MapReduceの単語カウントの例を実行します。

この目的のために、[ジョブデザイン]を右クリックして、新しいジョブMapreduceJobを作成します。 ジョブの詳細に言及して、[完了]をクリックします。

Map Reduce Job

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つの列があります。

Normalize Aggregate Row

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パスに移動して、出力を確認します。 すべての単語は単語カウントとともに大文字になります。

HDFSパス

Talend-Pigを使用する

この章では、TalendでPigジョブを扱う方法を学びましょう。

Talend Pigジョブの作成

このセクションでは、TalendでPigジョブを実行する方法を学びましょう。 ここでは、NYSEデータを処理して、IBMの平均在庫量を調べます。

このために、[ジョブデザイン]を右クリックして、新しいジョブpigjobを作成します。 ジョブの詳細に言及して、[完了]をクリックします。

Talend Pig Job

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に存在する必要があることに注意してください。

NYSE入力

[スキーマの編集]をクリックし、以下に示すように列とそのタイプを追加します。

スキーマの編集

tPigFilterRowで、「高度なフィルターを使用」オプションを選択し、フィルターオプションに「stock_symbol = = ‘IBM」と入力します。

フィルターオプション

tAggregateRowで、スキーマの編集をクリックし、以下に示すように出力にavg_stock_volume列を追加します。

平均在庫量

次に、stock_exchange列をグループ化オプションに追加します。 操作フィールドにavg_stock_volume列を追加し、入力関数としてcount Functionとstock_exchangeを追加します。

証券取引所

tPigStoreResultで、Pigジョブの結果を保存する結果フォルダーURIの出力パスを指定します。 保存機能をPigStorageとして選択し、フィールド区切り記号(必須ではない)を「\ t」として選択します。

Pig Storage

豚の仕事を実行する

次に、実行をクリックして、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をコンポーネントリストに配置します。 デフォルトのデータベースに作成するテーブル名を指定します。 以下に示すように、他のパラメーターを保持します。

Hive Create Table

tHiveLoadで、「既存の接続を使用する」を選択し、コンポーネントリストにtHiveConnectionを配置します。 [読み込み]アクションで[読み込み]を選択します。 [ファイルパス]で、NYSE入力ファイルのHDFSパスを指定します。 入力をロードするテーブルをテーブル名に記載します。 以下に示すように、他のパラメーターを保持します。

既存の接続

tHiveInputで、[既存の接続を使用する]を選択し、tHiveConnectionをコンポーネントリストに配置します。 [スキーマの編集]をクリックし、以下のスキーマスナップショットに示すように列とそのタイプを追加します。 ここで、tHiveCreateTableで作成したテーブル名を指定します。

Hiveテーブルで実行するクエリオプションにクエリを配置します。 ここでは、テストハイブテーブルの最初の10行のすべての列を印刷しています。

Hive接続 Schema_of_tHiveInput

tLogRowで、列の同期をクリックし、出力を表示するためにテーブルモードを選択します。

テーブルモード

Hiveジョブの実行

実行をクリックして実行を開始します。 すべての接続とパラメーターが正しく設定されている場合、以下に示すようにクエリの出力が表示されます。

Hive Jobの実行