Talend Studioでビッグデータを使用する最初のステップ - 7.3

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > Hadoopディストーション

Talend Studioでのビッグデータの最初のステップ

このチュートリアルでは、Talend Studioでのビッグデータの最初のステップを確認できます。

このチュートリアルではHadoopクラスターを活用します。Hadoopクラスターが利用可能であることが必要です。

Talend Studioプロジェクトを作成

プロジェクトの作成は、Talend Studioを使用するための最初のステップです。プロジェクトによって仕事をよりよく整理できるようになります。

手順

  1. [Create a new project] (新しいプロジェクトを作成)を選択します。
  2. プロジェクトの名前を入力します。

    TalendDemo
  3. [Create] (作成)をクリックします。
  4. [Finish] (終了)をクリックします。

タスクの結果

プロジェクトが開きます。Talend Studioで作業する準備が整いました。

Hadoopクラスター接続を使うジョブを作成

Talend Studioプロジェクトにはジョブが含まれています。ジョブではコンポーネントを通じてワークフローのビルドが可能なので、特定のアクションを完了できます。

始める前に

[Integration] (統合)パースペクティブ([Window] (ウィンドウ) > パースペクティブ > [Integration] (統合))を選択します。

手順

  1. [Repository] (リポジトリー)で、[Job Designs] (ジョブデザイン)を右クリックします。
    1. [Create Standard Job] (標準ジョブを作成)をクリックします。
  2. [Name] (名前)フィールドに名前を入力します。

    ReadWriteHDFS
  3. オプション: [Purpose] (目的)フィールドに目的を入力します。

    Read/Write data in HDFS
  4. オプション: [Description] (説明)フィールドに説明を入力します。

    Standard job to write and read customers data to and from HDFS
    ヒント: [Purpose] (目的)[Description] (説明)を入力して整理します。
  5. [Finish] (終了)をクリックします。

タスクの結果

[Designer] (デザイナー)で空のジョブが開かれます。

Hadoopクラスターのメタデータ定義を作成

Hadoopクラスターメタデータ定義を作成すれば、Hadoopクラスター情報でコンポーネントをすばやく設定できるようになります。また、Talend Studioを使うことでクラスターメタデータ定義をインポートできるようになります。

始める前に

  • このチュートリアルではHadoopクラスターを活用します。Hadoopクラスターが利用可能であることが必要です。
  • [Integration] (統合)パースペクティブ([Window] (ウィンドウ) > パースペクティブ > [Integration] (統合))を選択します。

手順

  1. [Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ)を展開し、[Hadoop Cluster] (Hadoopクラスター)を右クリックして[Create Hadoop Cluster] (Hadoopクラスターの作成)をクリックします。
  2. [Name] (名前)フィールドに名前を入力します。

    MyHadoopCluster
  3. オプション: [Purpose] (目的)フィールドに目的を入力します。

    クラスター接続メタデータ
  4. オプション: [Description] (説明)フィールドに説明を入力します。

    Metadata to connect to a Amazon EMR cluster
    ヒント: [Purpose] (目的)[Description] (説明)を入力して整理します。
  5. [Next] (次へ)をクリックします。
  6. [Distribution] (ディストリビューション)を選択します。

    Amazon EMREMR 5.15.0 (Hadoop 2.8.3)を選択します。
  7. [Version] (バージョン)を選択します。

    EMR 5.15.0 (Hadoop 2.8.3)を選択します。
  8. [Enter manually Hadoop services] (Hadoopサービスを手動で入力)を選択します。
  9. [Finish] (終了)をクリックします。
    [Hadoop Cluster Connection] (Hadoopクラスター接続)ウィンドウが表示されます。
  10. [Connection] (接続)情報を入力します。

    • [Namecode URI] (ネームコードURI): hdfs://hadoopcluster:8020
    • [Resource Manager] (リソースマネージャー): hadoopcluster:8032
    • [Resource Manager Scheduler] (リソースマネージャースケジューラー): hadoopcluster:8030
    • [Job History] (ジョブ履歴): hadoopcluster:10020
    • [Staging directory] (ステージングディレクトリー): /user
  11. [Authentication] (認証)の詳細を入力します。

    • [User name] (ユーザー名): student
  12. オプション: [Check services] (サービスを確認)をクリックします。
  13. [Finish] (終了)をクリックします。

タスクの結果

[Repository] (リポジトリー)にHadoopクラスターのメタデータ定義が表示されます。

Hadoopクラスターのメタデータ定義をインポート

Hadoopクラスターの設定をインポートしてHadoopクラスターのメタデータ定義を作成すれば、その情報でコンポーネントをすばやく設定できるようになります。また、Talend Studioを使うことでクラスターのメタデータ定義を最初から作成できるようになります。

始める前に

  • このチュートリアルではHadoopクラスターを活用します。Hadoopクラスターが利用可能であることが必要です。
  • [Integration] (統合)パースペクティブ([Window] (ウィンドウ) > パースペクティブ > [Integration] (統合))を選択します。

手順

  1. [Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ)を展開し、[Hadoop Cluster] (Hadoopクラスター)を右クリックして[Create Hadoop Cluster] (Hadoopクラスターの作成)をクリックします。
  2. [Name] (名前)フィールドに名前を入力します。

    MyHadoopCluster_files
  3. オプション: [Purpose] (目的)フィールドに目的を入力します。

    クラスター接続メタデータ
  4. オプション: [Description] (説明)フィールドに説明を入力します。

    Metadata to connect to a Cloudera CDH cluster
    ヒント: [Purpose] (目的)[Description] (説明)を入力して整理します。
  5. [Next] (次へ)をクリックします。
  6. [Distribution] (ディストリビューション)を選択します。

    Clouderaを選択します。
  7. [Version] (バージョン)を選択します。

    Cloudera CDH6.1.1 [Built in]を選択します。
  8. [Import configuration from local files] (ローカルファイルから設定をインポート)を選択します。
  9. [Next] (次へ)をクリックします。
  10. [Location] (ロケーション)の下にある[File Explorer] (ファイルエクスプローラー)で、目的のファイルを選択します。
  11. モジュールを選択します。

    HDFSまたはYARNを選択します。
  12. [Finish] (終了)をクリックします。

    [Hadoop Cluster Connection] (Hadoopクラスター接続)ウィンドウが表示されます。接続情報は既に入力されています。
  13. オプション: [Check services] (サービスを確認)をクリックします。
  14. [Finish] (終了)をクリックします。

タスクの結果

[Repository] (リポジトリー)にHadoopクラスターのメタデータ定義が表示されます。

HDFSでデータを読み書き

このチュートリアルでは、自動的に生成されたランダムなデータを使用してHDFSにデータを書き込む方法を確認できます。次に、HDFSからデータを読み取り、ソートし、コンソールに結果を表示する方法を学習します。

ランダムデータを生成

tRowGeneratorコンポーネントを利用すると、Talend Studioによって機能テスト用のランダムデータが作成されます。

このタスクについて

例に従い、架空の顧客データベースを作成します。

手順

  1. tRowGeneratorコンポーネントを追加します。
    このコンポーネントを利用すると、テスト用にランダムデータを生成できます。
  2. tRowGeneratorコンポーネントをダブルクリックします。
    tRowGenerator設定ウィンドウが表示されます。
  3. プラスボタンをクリックして新しいカラムを追加します。
    1. [Column] (カラム)フィールドに名前を入力します。

      1. CustomerID
      2. FirstName
      3. LastName
    2. [Types] (タイプ)カラムを選択します。

      1. CustomerIDには、Integer Typeを選択します。
      2. FirstNameLastNameには、String Typeを選択します。
    3. [Function] (関数)カラムを選択します。

      1. CustomerIDNumeric.random(int,int)関数を選択します。

        この関数はランダムな数字を生成します。

      2. FirstNameTalendDataGenerator.getFirstName()関数を選択します。

        この関数はランダムなファーストネームを生成します。

      3. LastNameTalendDataGenerator.getLastName()関数を選択します。

        この関数はランダムなラストネームを生成します。

  4. オプション: [Columns] (カラム)を設定します。

    CustomerIDについては、[Function parameters] (関数パラメーター)タブに最大値である1000と入力します。
  5. オプション: [Number of Rows for RowGenerator] (RowGeneratorの行数)フィールドに、目的の数を入力します。

    顧客が1000人作成されるよう、1000と入力します。
  6. [OK]をクリックします。

タスクの結果

ランダムなデータを生成できるtRowGeneratorコンポーネントが設定されました。これを使えば、Talend Studioの他の機能もテストできます。

次のタスク

この機能を試す場合は、[Preview] (プレビュー)タブの[Preview] (プレビュー)ボタンをクリックします。

メタデータを使ってHDFSにデータを書き込み

tHDFSOutputコンポーネントを使えば、HDFSにデータを書き込めます。

始める前に

手順

  1. [Repository] (リポジトリー)[Metadata] (メタデータ) > [Hadoop Cluster] (Hadoopクラスター)を展開した後に、目的のHadoopクラスターメタデータを展開します。
    1. HDFSメタデータを[Designer] (デザイナー)にドラッグ&ドロップします。
      [Components] (コンポーネント)ウィンドウが表示されます。
    2. tHDFSOutputコンポーネントを選択します。
  2. 入力コンポーネントを追加します。

    テスト用の架空データが生成されるよう、tRowGeneratorコンポーネントを追加します(詳細はランダムデータを生成をご覧ください)。
  3. 入力コンポーネントを右クリックします。
    1. [Row] (行) > [Main] (メイン)を選択します。
    2. tHDFSOutputコンポーネントをクリックし、両コンポーネントをリンクさせます。
  4. tHDFSOutputコンポーネントをダブルクリックします。

    このコンポーネントは事前定義済みのHDFSメタデータ接続情報によって設定されています。

  5. [File Name] (ファイル名)フィールドにファイルパスと目的のファイルの名前を入力します。
  6. オプション: [Action] (アクション)[Overwrite] (上書き)を選択します。

タスクの結果

入力コンポーネント(tRowGeneratorコンポーネントなど)はデータを読み取り、tHDFSOutputコンポーネントはメタデータで定義された接続を使ってHDFSシステムにデータを書き込みます。

メタデータを使ってHDFSからデータを読み取り

tHDFSInputコンポーネントを使えば、HDFSからデータを読み取れます。

始める前に

手順

  1. [Repository] (リポジトリー)[Metadata] (メタデータ) > [Hadoop Cluster] (Hadoopクラスター)を展開した後に、目的のHadoopクラスターメタデータを展開します。
    1. HDFSメタデータを[Designer] (デザイナー)にドラッグ&ドロップします。
    2. tHDFSInputコンポーネントを選択します。
  2. tHDFSInputコンポーネントをダブルクリックします。

    このコンポーネントは事前定義済みのHDFSメタデータ接続情報によって設定されています。

  3. [File Name] (ファイル名)フィールドにファイルパスと目的のファイルの名前を入力します。
  4. [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックします。
  5. プラスボタンをクリックして新しいカラムを追加します。
    1. [Column] (カラム)フィールドに名前を入力します。

      1. CustomerID
      2. FirstName
      3. LastName
    2. [Types] (タイプ)カラムを選択します。

      1. CustomerIDには、Integer Typeを選択します。
      2. FirstNameLastNameには、String Typeを選択します。
    3. [OK]をクリックします。
  6. tRowGeneratorコンポーネントを右クリックします。
    1. [Trigger] (トリガー) > [On Subjob Ok] (サブジョブがOKの場合)を選択します。
    2. tHDFSInputコンポーネントをクリックし、両コンポーネントをリンクさせます。
  7. tSortRowコンポーネントを追加します。
  8. tHDFSInputコンポーネントを右クリックします。
    1. [Row] (行) > [Main] (メイン)を選択します。
    2. tSortRowコンポーネントをクリックし、両コンポーネントをリンクします。
  9. tSortRowコンポーネントをダブルクリックします。
    1. [Sync columns] (カラムを同期)をクリックします。
      tSortRowコンポーネントはtHDFSInputコンポーネントからスキーマを継承しています。
  10. プラスボタンをクリックします。
    tHDFSInputコンポーネントスキーマの最初のカラムが表示されます。
  11. tLogRowコンポーネントを追加します。
  12. tSortRowコンポーネントを右クリックします。
    1. [Row] (行) > [Main] (メイン)を選択します。
    2. tLogRowコンポーネントをクリックし、2つのコンポーネントをリンクします。
      [Designer] (デザイナー)は次のようになります。
  13. tLogRowコンポーネントをダブルクリックします。
    1. [Table (print values in cells of a table)] (テーブル(テーブルのセルの出力値))を選択します。
  14. [Run] (実行)ビューで[Run] (実行)をクリックします。

タスクの結果

入力コンポーネント(tRowGeneratorコンポーネントなど)は、tHDFSOutputコンポーネントにデータを提供し、このコンポーネントによってデータがHDFSシステムに書き込まれます。この操作を完了すると、tHDFSInputコンポーネントがデータを読み取ってtSortRowコンポーネントに提供し、このコンポーネントによってデータがソートされます。tLogRowコンポーネントはHDFSでソートされたデータを表示します。