メイン コンテンツをスキップする 補完的コンテンツへスキップ

Apache Spark BatchのtSqlRowプロパティ

これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtSqlRowを設定するために使われます。

Spark BatchtSqlRowコンポーネントは、変換処理ファミリーに属しています。

このフレームワークのコンポーネントは、すべてのサブスクリプションベースのビッグデータ対応のTalend製品およびTalend Data Fabricで使用できます。

基本設定

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

  • [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

  • [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

再利用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、テーブルスキーマを取得をご覧ください。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、ダイナミックスキーマをご覧ください。

ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。

ダイナミックスキーマでは、tSQLRowコンポーネントを使って、Parquetファイル内の複雑な(たとえばstructmapを含んでいる)スキーマをSpark SQLで読み取ったり照会したりできます。

[SQL context] (SQLコンテキスト)

tSqlRowで使うクエリー言語を選択します。

  • [SQL Spark Context] (SQL Sparkコンテキスト): Sparkネイティブクエリー言語。

  • [SQL Hive Context] (SQL Hiveコンテキスト): SparkでサポートされるHiveクエリー言語。

    [SQL Hive Context] (SQL Hiveコンテキスト)の場合、tSqlRowではHiveメタストアを使えません。Hiveメタストアに対してデータの読み取りまたは書き込みを行う必要がある場合は、代わりにtHiveInputまたはtHiveOutputを使ってください。この状況では、ジョブを別の方法で設計する必要があります。

    SparkでサポートされるHiveクエリーステートメントの詳細は、サポートされるHive機能をご覧ください。

[Query] (クエリー)

クエリーを入力します。フィールドの順序に気を付けて、スキーマ定義と一致するようにしてください。

tSqlRowコンポーネントは、入力リンクのラベルを使って、同じ入力リンクから取得されたデータセットが格納される登録済みテーブルに名前を付けます。たとえば、入力リンクのラベルがrow1である場合、このrow1が自動的に、クエリーを実行できるテーブルの名前になります。

詳細設定

[Register UDF jars] (UDF jarを登録)

tSqlRowで使うSpark SQLまたはHive SQL UDF(ユーザー定義ファンクション) jarを追加します。UDFの呼び出しでFQCN(完全修飾クラス名)を使わない場合は、[Temporary UDF functions] (一時UDFファンクション)テーブルでこのUDFのファンクションエイリアスを定義して、そのエイリアスを使う必要があります。クエリーからUDFを呼び出すにはエイリアスの方が実用的なので、エイリアスの利用をお勧めします。

このテーブルに1行を追加したら、クリックして[...]ボタンを表示し、次にこのボタンをクリックしてjarインポートウィザードを表示します。このウィザードを使用して、目的のUDF jarファイルをインポートします。

[Temporary UDF functions] (一時UDFファンクション)

このテーブルに入力して、インポートされた各UDFクラスに、tSqlRow内のクエリーで使う一時的なファンクション名を付けます。

[SQL context] (SQLコンテキスト)リストから[SQL Spark Context] (SQL Sparkコンテキスト)を選択した場合は、[UDF output type] (UDF出力タイプ)カラムが表示されます。このカラムでは、使うSpark SQL UDFの出力のデータ型を選択する必要があります。

使用方法

使用ルール

このコンポーネントは中間ステップとして使用されます。

このコンポーネントは、所属するSpark Batchのコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。