たとえば:
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;
/
Parquetデータ・ファイルなどの構造化データ・ファイルのDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
パラメータには、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形式を参照してください。