Apache Spark BatchのtSqlRowプロパティ
これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtSqlRowを設定するために使われます。
Spark BatchのtSqlRowコンポーネントは、変換処理ファミリーに属しています。
このフレームワークのコンポーネントは、すべてのサブスクリプションベースのビッグデータ対応のTalend製品およびTalend Data Fabricで使用できます。
基本設定
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。
再利用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。 詳細は、テーブルスキーマを取得をご覧ください。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。
このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、ダイナミックスキーマをご覧ください。 ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。 ダイナミックスキーマでは、tSQLRowコンポーネントを使って、Parquetファイル内の複雑な(たとえばstructやmapを含んでいる)スキーマをSpark SQLで読み取ったり照会したりできます。 |
[SQL context] (SQLコンテキスト) |
tSqlRowで使うクエリー言語を選択します。
|
[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ファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |