たとえば:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
TABLE_NAME => 'sales_sample',
CREDENTIAL_NAME => 'DEF_CRED_NAME',
FILE_URI_LIST => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_landing/o/sales_sample/*.parquet',
FORMAT => '{"type":"parquet", "schema": "first","partition_columns":[{"name":"month","type":"varchar2(100)"}]}');
END;
/
パラメータは次のとおりです:
-
table_name
: 外部表名です。
-
credential_name
: 前のステップで作成した資格証明の名前です。
-
file_uri_list
: ソース・ファイルURIのカンマ区切りリストです。 このリストには2つのオプションがあります:
-
column_list
: 外部表の列名とデータ型のカンマ区切りリストです。 リストには、データファイル内の列と、オブジェクト名から導出された列(ファイル・パス内の名前から)が含まれます。
データファイルが構造化ファイル(Parquet、AvroまたはORC)の場合、column_list
は必要ありません。
-
format
: ソース・ファイルの形式を記述するために指定できるオプションを定義します。 partition_columns
format
パラメータは、パーティション列の名前を指定します。
ソース・ファイル内のデータが暗号化されている場合は、encryption
形式オプションを指定してデータを復号化します。 データの復号化の詳細は、「オブジェクト・ストレージからのインポート中のデータの復号化」を参照してください。
詳細については、「DBMS_CLOUDパッケージ・フォーマット・オプション」を参照してください。
この例では、namespace-string
がOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketname
がバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
コールでは、次の表定義になります:
CREATE TABLE "ADMIN"."SALES_SAMPLE"
( "DAY_ID" TIMESTAMP (6),
"GENRE_ID" NUMBER(19,0),
"MOVIE_ID" NUMBER(19,0),
"CUST_ID" NUMBER(19,0),
"APP" VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
"DEVICE" VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
"OS" VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
"PAYMENT_METHOD" VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
"LIST_PRICE" BINARY_DOUBLE,
"DISCOUNT_TYPE" VARCHAR2(4000 BYTE) COLLATE "USING_NLS_COMP",
"DISCOUNT_PERCENT" BINARY_DOUBLE,
"ACTUAL_PRICE" BINARY_DOUBLE,
"MONTH" VARCHAR2(100 BYTE) COLLATE "USING_NLS_COMP"
) DEFAULT COLLATION "USING_NLS_COMP"
ORGANIZATION EXTERNAL
( TYPE ORACLE_BIGDATA
DEFAULT DIRECTORY "DATA_PUMP_DIR"
ACCESS PARAMETERS
( com.oracle.bigdata.fileformat=parquet
com.oracle.bigdata.filename.columns=["month"]
com.oracle.bigdata.file_uri_list="https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_landing/o/sales_sample/*.parquet"
com.oracle.bigdata.credential.schema="ADMIN"
com.oracle.bigdata.credential.name=CRED_OCI
com.oracle.bigdata.trimspaces=notrim
)
)
REJECT LIMIT 0
PARTITION BY LIST ("MONTH")
(PARTITION "P1" VALUES (('2019-01'))
LOCATION
( 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_landing/o/sales_sample/month=2019-01/*.parquet'
),
PARTITION "P2" VALUES (('2019-02'))
LOCATION
( 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_landing/o/sales_sample/month=2019-02/*.parquet'
))
PARALLEL ;
パラメータの詳細は、「CREATE_EXTERNAL_PART_TABLEプロシージャ」を参照してください。
サポートされているクラウド・オブジェクト・ストレージ・サービスの詳細は、「DBMS_CLOUD URIの書式」を参照してください。