# Apache Spark BatchのtSchemaComplianceCheck

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

Spark BatchのtSchemaComplianceCheckコンポーネントは、データクオリティファミリーに属しています。

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

## 基本設定

| [Base Schema] (基本スキーマ)および[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>現状で処理されるデータのストラクチャーと性質について説明します。 |
| --- | --- |
|  | [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|  | [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
| [Base on default schema] (デフォルトのスキーマを基本とする) | このオプションを選択すると、基本スキーマに対してすべてのカラムのチェックが実行されます。 |
| [Custom defined] (カスタム定義) | このオプションを選択すると、特定のカラムに対して特定のチェックが実行されます。このオプションを選択すると、[Checked Columns] (チェック対象カラム)テーブルが表示されます。 |
| [Checked Columns] (確認対象カラム) | このテーブルでは、どのカラムについてどのようなチェックを実行するかを定義します。 |
|  | [Column] (カラム): カラム名を表示します。 |
|  | [Type] (タイプ): 各カラムに含めるデータのタイプを選択します。この検証はすべてのカラムに必須です。 |
|  | [Date pattern] (日付パターン): 各カラムに対して期待される日付フォーマットを*Date*のデータ型で定義します。 |
|  | [Nullable] (Null可能): 個々のカラムでこのチェックボックスをオンにすると、そのカラムはNULL可能として定義されます。つまり、このカラムの空の行を基本スキーマ定義に関係なく出力フローに移動できるようにします。すべてのカラムをNULL可能として定義するには、テーブルヘッダーのチェックボックスをオンにします。 |
|  | [Max length] (最大長): 個々のカラムでこのチェックボックスをオンにすると、カラムのデータ長を基本スキーマの長さ定義と照合できます。この検証をすべてのカラムに対して実行するには、テーブルヘッダーのチェックボックスをオンにします。 |
| コンプライアンスチェックに他のスキーマを使用 | 準拠していないデータを拒否するために、期待どおりのデータとなるように参照スキーマを定義します。<br><br>データ型、NULL値、または長さに制限がある場合があります。 |
| [Discard the excess content of column when the actual length is greater than the declared length] (実際の長さが宣言された長さよりも大きい場合は、カラムの余分なコンテンツを破棄する) | tSchemaComplianceCheckの3つのモードのいずれかで、このチェックボックスをオンにすると、指定した長さを超えるデータは拒否されずに切り捨てられます。<br><br>情報メモ注:<br><br>このオプションは、String型のデータにのみ適用可能です。 |

## 詳細設定

| [Ignore TimeZone when Check Date] (日付チェック時にタイムゾーンを無視) | 日付チェック時にタイムゾーン設定を無視するには、このチェックボックスをオンにします。<br><br>[Check all columns from schema] (すべてのカラムをスキーマに対してチェック)モードが選択されている場合は利用できません。 |
| --- | --- |
| [Treat all empty string as NULL] (空の文字列をすべてNULLと見なす) | このチェックボックスをオンにすると、すべてのカラムの空のフィールドが空の文字列ではなくNULL値として扱われます。<br><br>デフォルトでは、このチェックボックスはオンです。このチェックボックスをオフにすると、[Choose Column(s)] (カラムの選択)テーブルが表示され、個々のカラムを選択できるようになります。 |

## グローバル変数

| グローバル変数 | ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。<br><br>変数の詳細は、*Talend Studio* *ユーザーガイド*をご覧ください。 |
| --- | --- |

## 使用方法

| **使用ルール** | このコンポーネントは、中間ステップとして使用されます。 |
| --- | --- |
| [Spark Connection] (Spark接続) | [Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。<br><br><ul> <li> <div> <span>Yarnモード</span>(YarnクライアントまたはYarnクラスター):<ul> <li> <p>Google Dataprocを使用している場合、<span>[Spark configuration] (Spark設定)</span>タブの<span>[Google Storage staging bucket] (Google Storageステージングバケット)</span>フィールドにバケットを指定します。</p> </li> <li> <p>HDInsightを使用している場合、<span>[Spark configuration] (Spark設定)</span>タブの<span>[Windows Azure Storage configuration] (Windows Azure Storage設定)</span>エリアでジョブのデプロイメントに使用するブロブを指定します。</p> </li> <li>Altusを使用する場合は、<span>[Spark configuration] (Spark設定)</span>タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。</li> <li>Quboleを使用する場合は、ジョブに<span>tS3Configuration</span>を追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。<span>tS3Configuration</span>を使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。</li> <li> <p>オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、<a href="https://help.qlik.com/talend/r/ja-JP/7.3/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a>を使用します。</p> </li> </ul> </div> </li> <li> <p> <span>[Standalone mode] (スタンドアロンモード)</span>: クラスターで使われているファイルシステム(<a href="https://help.qlik.com/talend/r/ja-JP/7.3/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a>や<a href="https://help.qlik.com/talend/r/ja-JP/7.3/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a>など)に対応する設定コンポーネントを使用します。</p> <p>ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。</p> </li> </ul><br><br>この接続は、ジョブごとに有効になります。 |