始める前に
マッピングの設定と実行を開始する前に、必要な前提条件となる手順をすべて完了する必要があります。
Deltaファイル
マッピングおよび詳細モードのマッピングでは、Delta形式のファイルの読み取りおよび書き込みを行うことができます。
Deltaファイルは、次のようなコンポーネントで構成されています。
詳細モードのマッピングでのDeltaファイルの読み取りと書き込み
詳細モードのマッピングでDelta形式ファイルの読み取りと書き込みを行うには、マッピングタスクの[Sparkセッションプロパティ]セクションにあるspark.custom.propertyを次の値に設定する必要があります。
spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension&:spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
ルールとガイドライン
Deltaファイルに対して読み取りと書き込みを行う場合は、次のルールとガイドラインを考慮してください。
- •SQL ELTモードのマッピング、またはSQL ELTの最適化が有効なマッピングタスクでは、Deltaファイルの読み取りと書き込みを行うことはできません。
- •ソースパーティション化またはターゲットパーティション化は、Deltaファイルの読み取り時、またはデルタ・ファイルへの書き込み時には使用できません。
- •Deltaファイルから読み取りを行ってメタデータを編集する場合は、データ型を変更しないようにしてください。そうしないと、マッピングが失敗します。変更できるのはデータ型の精度のみです。
- • [Delta]形式タイプを選択し、[スキーマソース]形式オプションの値に[スキーマファイルからインポートする]を選択した場合は、JSON形式のスキーマファイルのみをアップロードすることができます。
次のサンプルに、Deltaファイルのスキーマファイルを示します。
{"type": "struct","fields": [{"name": "c_custkey","type": "integer","nullable": true,"metadata": {}},{"name": "c_name","type": "string","nullable": true,"metadata": {}},{"name": "c_address","type": "string","nullable": true,"metadata": {}},{"name": "c_comment","type": "string","nullable": true,"metadata": {}}]}
- •Deltaファイルのメタデータが変更された場合、現在のフォルダパスまたはバケット内の同じDeltaファイルにデータを書き込むことはできません。別のパス名またはバケット名を指定する必要があります。
- •Deltaファイルに書き込むと、Secure Agentは、詳細ターゲットプロパティで指定されたターゲットファイル名のオーバーライドを無視し、既存のターゲットファイル名を保持します。
- •Deltaファイルに書き込むと、Secure Agentは、詳細ターゲットプロパティで選択した圧縮形式に関係なく、デフォルトでSnappy圧縮を適用します。