- キー接頭辞に一致するすべてのファイルは、必ず同じ種類のデータ形式(csv、json、またはParquet)でなければなりません。
- 異なる形式の関連データは、異なるキー接頭辞の場所に置かなければなりません(例:
- Amazon S3: /S3/YOUR-BUCKET.s3.amazonaws.com/csv-table1および/S3/YOUR-BUCKET.s3.amazonaws.com/json-table-1
- Azure BlobストレージおよびAzure Data Lake Storage Gen2: /AZ/YOUR-STORAGE-ACCOUNT.blob.core.windows.net/YOUR-CONTAINER/csv-table1 and /AZ/YOUR-STORAGE-ACCOUNT.blob.core.windows.net/YOUR-CONTAINER/json-table-1
- GCS: /gs/storage.googleapis.com/YOUR-BUCKET/csv-table1および/gs/storage.googleapis.com/YOUR-BUCKET/json-table-1
- 異なる論理テーブルの一部であるファイルは、異なるキー接頭辞の場所になければなりません。例:
- Amazon S3: /S3/YOUR-BUCKET.s3.amazonaws.com/emp-tableおよび/S3/YOUR-BUCKET.s3.amazonaws.com/dept-table
- Azure BlobストレージおよびAzure Data Lake Storage Gen2: /AZ/YOUR-STORAGE-ACCOUNT.blob.core.windows.net/YOUR-CONTAINER/emp-tableおよび/az/YOUR-STORAGE-ACCOUNT.blob.core.windows.net/YOUR-CONTAINER/dept-table
- GCS: /gs/storage.googleapis.com/YOUR-BUCKET/emp-tableおよび/gs/storage.googleapis.com/YOUR-BUCKET/dept-table
- CSVファイルに異なるデータ フィールドがありながら個々のファイル ヘッダーがない場合は、同じフィールドを持つファイルを別のキー接頭辞の場所にグループ化する必要があります。
- 1つのキー接頭辞の場所に異なる種類のデータが含まれる場合は、そのデータにクエリーを実行するのは非効率的です。例えば、部門と従業員のデータを1つのキー接頭辞の場所に混在させる場合、特定の従業員を探すクエリーでは、Vantageがその場所にあるすべてのファイル(部門データのみを含んだファイルを含む)を読み取る必要があります。
ベスト プラクティスは、同じ種類のデータを含むファイルを1つの外部ストレージのキー接頭辞の場所にグループ化し、そのキー接頭辞の場所を使用して単一の外部テーブルを作成するか、単一のREAD_NOSクエリー内に作成することを推奨します。これは、あらゆる種類の外部データ、JSON、CSV、およびParquetで該当します。
同じ論理は、異なるヘッダーを持つCSVファイルが混在する場合にも該当します。キー接頭辞の場所には、これらのCSVファイルのいくつかが含まれる場合がありますが、そのデータにクエリーを行なうのは異なるフィールド パターンのために非効率です。
同じ理由から、同じキー接頭辞の場所に異なるスキーマを持つCSVファイルまたはParquetファイルを混在させないでください。このような場合、そのデータにクエリーを 行なうのは非効率なだけでなく、スキップされたレコードやファイルを示す多くの警告も発生します。