たとえば:
BEGIN DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/sales/*.parquet',
format =>
json_object('type' value 'parquet', 'schema' value 'first',
'partition_columns' value
json_array(
json_object('name' value 'country', 'type' value 'varchar2(100)'),
json_object('name' value 'year', 'type' value 'number'),
json_object('name' value 'month', 'type' value 'varchar2(2)')
)
)
);
END;
/
構造化データ・ファイルのDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
パラメータ(Parquetデータ・ファイルの場合など)では、column_list
またはfield_list
パラメータは必要ありません。 列名およびデータ型は、プロシージャがスキャンする最初のparquetファイルの列に対して導出されます(したがって、すべてのファイルのシェイプが同じである必要があります)。 生成された列リストにはオブジェクト名から導出された列が含まれ、これらの列にはpartition_columns
format
パラメータで指定されたデータ型が含まれます。
パラメータは次のとおりです:
-
table_name
: 外部表名です。
-
credential_name
: 前のステップで作成した資格証明の名前です。
-
file_uri_list
: ソース・ファイルURIのカンマ区切りリストです。 このリストには2つのオプションがあります:
-
column_list
: 外部表の列名とデータ型のカンマ区切りリストです。 リストには、ファイル内の列と、オブジェクト名から導出された列が含まれます。
データファイルが構造化ファイル(Parquet、AvroまたはORC)の場合、column_list
は必要ありません。
-
field_list
: ソース・ファイル内のフィールドとそのデータ型を識別します。 デフォルト値はNULL
で、フィールドとそのデータ型はcolumn_list
パラメータによって決定されます。
データファイルが構造化ファイル(Parquet、AvroまたはORC)の場合、field_list
は必要ありません。
-
format
: ソース・ファイルの形式を記述するために指定できるオプションを定義します。 partition_columns
format
パラメータは、パーティション列の名前を指定します。 詳細については、「DBMS_CLOUDパッケージ・フォーマット・オプション」を参照してください。
ソース・ファイル内のデータが暗号化されている場合は、encryption
形式オプションを指定してデータを復号化します。 データの復号化の詳細は、「オブジェクト・ストレージからのインポート中のデータの復号化」を参照してください。
この例では、namespace-string
がOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketname
がバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。
パラメータの詳細は、「CREATE_EXTERNAL_PART_TABLEプロシージャ」を参照してください。
サポートされているクラウド・オブジェクト・ストレージ・サービスの詳細は、「DBMS_CLOUD URIの書式」を参照してください。