ディレクトリレベルのパーティショニング
詳細モードのマッピングを使用すると、パーティションカラムの読み取りと書き込みができます。
テーブルまたはデータセットをパーティションに編成して、カラムまたはパーティションキーに基づいて同じタイプのデータをグループ化できます。テーブルまたはデータセット内の1つ以上のパーティションカラムを選択できます。
パーティションカラムから読み取るには、パーティションディレクトリを選択し、パーティションカラムを特定します。パーティションカラムに書き込むには、フィールドのリストからパーティションカラムを追加して、必要に応じてパーティションの順序を変更します。
次のファイル形式で、パーティションカラムに対してデータを読み書きすることができます。
パーティションカラムからの読み取り
パーティションカラムからデータを読み取るには、次の手順を実行します。
- 1ソースオブジェクトのリストからディレクトリを選択します。
- 2詳細ソースプロパティで[ディレクトリ]としてソースタイプを選択します。
- 3[フィールド]タブでは、パーティションの数を表示できます。次の図に示すように、パーティション化されたフィールドのリストに[partitionOrder]カラムが表示されます。
[partitionOrder]カラムは、カラムがパーティション化されているかどうかを示します。 上の画像では、2つのパーティションカラムが存在しています。パーティション順序の値1と2は、パーティション化のために[国]フィールドと[州]フィールドが選択された順序を示しています。[FileName]フィールドのパーティション順序は0です。
パーティションカラムへの書き込み
パーティションカラムに書き込むには、次の手順を実行します。
- 1
[パーティション]タブのアイコンをクリックして、ターゲットのパーティションカラムを追加します。次の画像は、パーティションカラムを追加する方法を示しています。 ![この画像は、パーティションカラムを追加するための[パーティション]タブの[追加]ボタンを示しています。 この画像は、パーティションカラムを追加するための[パーティション]タブの[追加]ボタンを示しています。](../cloud-data-integration-amazon-s3-v2-connector/images/GUID-AF03765D-A8CA-4CA9-AB6F-DDA0ABFA6F85-low.png)
- 2[パーティション]タブで、使用可能なフィールドのリストからパーティションフィールドを選択します。
- 3[選択]をクリックします。
[パーティション]タブに、選択したパーティションカラムが次のように表示されます。
![[パーティション]タブに、選択したパーティションカラムが表示されます。 [パーティション]タブに、選択したパーティションカラムが表示されます。](../cloud-data-integration-amazon-s3-v2-connector/images/GUID-68A3A69F-DCC3-4880-B770-B12D47A03BE8-low.png)
注: 次の図に示すように、上下の矢印を使用してパーティションの順序を変更できます。

パーティションフォルダからの読み取りとパーティションフォルダへの書き込みに関するルールとガイドライン
パーティションフォルダからの読み取りおよびパーティションフォルダへの書き込みを行う場合は、次のルールとガイドラインを考慮してください。
- •パーティションフォルダのみを含むディレクトリをインポートし、詳細ソースプロパティでソースタイプを[ディレクトリ]として選択する必要があります。
- •データのないパーティションディレクトリをインポートすると、検証エラーが発生します。
- •ファイルのみを含み、パーティションフォルダを含まないパーティションディレクトリをインポートすると、検証エラーが発生します。
- •パーティションフォルダはあってもパーティションフォルダにファイルがないパーティションディレクトリをインポートすると、検証エラーが発生します。
- •Avro、Parquet、およびOrcファイルを使用して、パーティションフォルダからデータを読み書きできます。
- •[FileName]フィールドのパーティション順序は0です。
- •選択したパーティションディレクトリには、「FileName」という名前のパーティションカラムを含めることはできません。この名前は、大文字と小文字が区別されません。
- •既存のターゲットオブジェクトをインポートするか、パーティションディレクトリを使用して新しいターゲットオブジェクトを作成すると、ターゲットオブジェクトの[ファイル名]フィールドは表示されません。[FileName]フィールドは、ソースオブジェクトをインポートする場合にのみ表示されます。
- •Amazon S3ソースのパーティションカラムでフィルタトランスフォーメーションをプッシュダウンできます。
- •パーティションカラムにタイムスタンプ値を渡すと、値がエンコードされます。例えば、03:26:01は03%3A26%3A01としてエンコードされます。
- •パーティションカラムに特殊文字を含む値を渡した場合、値はエンコードされます。例えば、@#$#$%%?*は@%23$%23$%25%25%3F%2Aとしてエンコードされます。
- •パーティションフォルダのあるディレクトリをインポートすると、パーティションカラムのデータ型が文字列としてインポートされます。
- •パーティションカラムのデータ型を編集することはできません。
- •階層データ型のカラムをパーティションカラムとして使用することはできません。
- •パーティションカラムで[メタデータの編集]オプションを使用することはできません。
- •ソース側とターゲット側のパーティションディレクトリに[スキーマの表示]オプションを使用することはできません。
- •スキーマファイルにはパーティションカラムの情報がないため、ソースのパーティションディレクトリに[スキーマファイルからインポートする]オプションを使用することはできません。
- •パーティションカラムで[データプレビュー]オプションを使用することはできません。
- •ターゲットオブジェクトがパラメータ化されている場合、マッピングタスクでパーティションカラムを選択することはできません。
- •[ターゲットの作成]では、パーティションフィールドを追加し、パーティションカラムを順番に配置できます。パーティションフィールドを追加することや既存のターゲットの順序でパーティションカラムを配置することはできません。
- •[ターゲットの作成]で、[パーティション]タブの[ラベル]カラムはパーティションカラム名を示します。
- •パーティションカラムを持つAmazon S3オブジェクトをインポートすると、パーティションフィールドがリストの最後に表示されます。
- •パーティションカラムに255文字を超えるデータが含まれている場合、データは切り捨てられ、255文字のみがパーティションカラムに書き込まれます。
- •パーティションカラム名に74文字を超える文字が含まれている場合、名前は切り捨てられ、パーティションカラム名には74文字のみが書き込まれます。
- •パーティションカラム名パーティションディレクトリ内のターゲットファイルの組み合わせを使用して形成されるパーティションディレクトリファイルパスの値は、1024文字を超えないようにする必要があります。それ以外の場合、マッピングは失敗します。