ファイル形式オプション
Microsoft Azure Data Lake Storage Gen2ファイルの形式を選択し、形式オプションを設定します。
次の表に、Avro、Parquet、Delta、JSON、ORC、ドキュメント、および区切りフラットファイルの形式オプションを示します。
プロパティ | 説明 |
|---|
スキーマソース | ソースファイルまたはターゲットファイルのこのスキーマ。 以下のいずれかのオプションを選択して、スキーマを指定します。 - - データファイルから読み取る。Microsoft Azure Data Lake Storage Gen2のファイルからスキーマをインポートします。
- - スキーマファイルからインポートする。エージェントマシンのスキーマ定義ファイルからスキーマをインポートします。
|
スキーマファイル | スキーマをアップロードするエージェントマシンのスキーマ定義ファイル。 実行時にターゲットを作成するときに、スキーマファイルをアップロードすることはできません。 |
次の表に、フラットファイルの形式オプションを示します。
プロパティ | 説明 |
|---|
フラットファイルタイプ | フラットファイルのタイプ。 次のいずれかのオプションを選択します。 - - 区切り。カラム区切り文字を含むフラットファイルを読み取ります。
- - 固定長。固定長のフィールドを含むフラットファイルを読み取ります。
[固定長ファイル形式]オプションのファイル形式を選択する必要があります。 固定長ファイル形式がない場合、[新規] > [コンポーネント] > [固定長ファイル形式]をクリックして作成します。
|
区切り文字 | 区切りフラットファイルのデータのカラムを分けるのに使用される文字。カンマ、タブ、コロン、セミコロンなどの値を設定できます。 [区切り文字]フィールドで区切り文字としてタブを直接設定することはできません。タブを区切り文字として設定するには、任意のテキストエディタでタブ文字を入力する必要があります。その後、そのタブ文字をコピーして[区切り文字]フィールドに貼り付けます。 |
EscapeChar | 引用符で囲まれていない文字列におけるカラム区切り文字の直前の文字、または区切りフラットファイルでの、引用符で囲まれた文字列データ内における引用符の直前の文字。 Microsoft Azure Data Lake Storage Gen2にデータを書き込んで修飾子を指定すると、デフォルトでは、修飾子はエスケープ文字と見なされます。それ以外の場合は、エスケープ文字として指定された文字が考慮されます。 |
修飾子 | 区切りフラットファイル内にある、データの境界を定義する引用符。修飾子は、一重引用符または二重引用符で設定できます。 |
修飾子モード | 区切りフラットファイルにデータを書き込むときの修飾子の動作を指定します。 以下のいずれかのオプションを選択することができます。 - - 最小。デフォルトモード。区切り文字の値または特殊文字で囲まれているデータに修飾子を適用します。
- - すべて。すべてのデータに修飾子を適用します。
- - Non_Numeric。該当なし。
- - All_Non_Null。該当なし。
|
修飾子が設定されているときにエスケープ文字を無効にする | Microsoft Azure Data Lake Storage Gen2ターゲットに適用されます。 [修飾子が設定されているときにエスケープ文字を無効にする]を選択します。 エスケープ文字を無効にすると、特殊文字はエスケープされず、ターゲットに書き込まれるデータの一部と見なされます。 |
コードページ | Secure Agentが、区切りフラットファイルに対するデータの読み取りまたは書き込みで使用する必要があるコードページを選択します。 マッピングにUTF-8を選択します。 詳細モードのマッピングについて、次のいずれかのオプションを選択します。 - - UTF-8
- - MS Windows Latin 1
- - Shift-JIS
- - ISO 8859-15 Latin 9(Western European)
- - ISO 8859-3 Southeast European
- - ISO 8859-5 Cyrillic
- - ISO 8859-9 Latin 5(Turkish)
- - IBM EBCDIC International Latin-1
|
ヘッダー行番号 | 区切りフラットファイルからのデータの読み取り時にヘッダーとして使用する行番号を指定します。 値を0または1として指定します。 ヘッダーのないファイルからデータを読み取るには、値を0に指定します。 |
最初のデータ行1 | Secure Agentが、区切りフラットファイルのデータの読み取りを開始する行番号を指定します。1以上の値を入力する必要があります。 ヘッダーからデータを読み取るには、[ヘッダー行番号]と[最初のデータ行]のフィールドに同じ値を指定する必要があります。デフォルトは1です。 |
ターゲットヘッダー | 区切りフラットファイルでヘッダーを含むターゲットとヘッダーを含まないターゲットのどちらにデータを書き込むかを指定します。[ヘッダーあり]オプションまたは[ヘッダーなし]オプションを選択できます。 このプロパティは、Microsoft Azure Data Lake Storage Gen2ソースからデータを読み取る場合には適用されません。 |
分散カラム | 該当なし。 |
プレビューする最大行数 | 該当なし。 |
行区切り文字 | データの列を区切るために使用する文字。値には、\r、\n、\r\nを設定できます。 このプロパティは、Microsoft Azure Data Lake Storage Gen2ソースからデータを読み取る場合には適用されません。 |
1詳細モードのマッピングには適用されません。 |
次の表に、JSONファイルの形式オプションを示します。
プロパティ | 説明 |
|---|
サンプリングするデータ要素1 | メタデータを取り込むための最良の一致を見つけるために読み取る行数を指定します。 |
データの処理に使用可能なメモリ1 | パーサーがJSONサンプルスキーマを読み取って処理するために使用するメモリ。 デフォルト値は2 MBです。 ファイルサイズが2 MBを超える場合、エラーが発生する可能性があります。読み取るファイルサイズに値を設定します。 |
複数行のJSONファイルの読み取り | 該当なし。 |
1詳細モードのマッピングにのみ適用されます。 |
Deltaファイル形式の設定
Deltaファイル形式は、マッピングおよび詳細モードのマッピングで使用できます。
詳細モードのマッピングでDeltaファイル形式を使用する前に、次の手順を実行します。
- 1マッピングタスクで、[ランタイムオプション]タブの[詳細セッションプロパティ]セクションに移動します。
- 2[詳細セッションプロパティ]の
[セッションプロパティ名]フィールドで、spark.custom.propertyをクリックして選択します。 - 3[セッションプロパティ値]フィールドで、次の値を設定します。
- - spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension
- - spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
[セッションプロパティ値]フィールドの値は「&:」で区切ります。
Deltaファイル形式のルールおよびガイドライン
Deltaファイル形式を使用してDelta Lakeから読み取る場合やDelta Lakeに書き込む場合は、次のルールとガイドラインを考慮してください。
- マッピング
- - ソースディレクトリがdelta lakeであり、データがParquet形式で格納されていて、対応するトランザクションログが_delta_logフォルダにJSON形式で格納されていることを確認します。JSONスナップショットファイルまたはParquetファイルをソースオブジェクトとして選択できます。Parquetファイルを選択した場合、マッピングはdelta lakeの最新のスナップショットを処理します。JSONスナップショットファイルを選択した場合、マッピングは対応する状態のdelta lakeを処理します。
- - データを読み取ることができるのは、詳細ソースプロパティで[ソースタイプ]として[ファイル]を選択している場合のみです。
- - ファイル名を上書きできるのは、インポートされたソースオブジェクトがJSONファイルである場合のみです。
- - 選択したオブジェクトからスキーマを推測できるのは、ファイルがJSONまたはテキスト形式の場合のみです。
- - 実行時にターゲットを作成する場合、指定されたターゲットオブジェクト名は考慮されません。Delta Lake名は、その代わりとして、ターゲットディレクトリパスのディレクトリ名から導出されます。例えば、パス<Filesystem>\Dir1\Dir2\test.parquetの場合、Delta Lake名はディレクトリDir2の名前から取られます。
- 詳細モードのマッピング
- - パーティション化されているソースデータから読み取る場合のみ、ディレクトリの読み取りが優先されます。
- - ソーストランスフォーメーションでは、ファイル名とディレクトリ名にワイルドカード文字を使用することはできません。
- - ファイル名を上書きできるのは、インポートされたソースオブジェクトがJSONファイルである場合のみです。
- - [フィールド]タブでは、パーティションカラムからデータを読み取るときにパーティションの順序は表示されません。
- - 上書きまたは追加書き込みストラテジを実行すると、マッピングは新しいデータファイルを作成し、トランザクションログは書き込みストラテジのトランザクションをキャプチャします。
Icebergファイル形式のルールとガイドライン
Icebergファイル形式を使用してApache Icebergファイルから読み取る場合やApache Icebergに書き込む場合は、次のルールとガイドラインを考慮してください。