たとえば:
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形式」を参照してください。