Por ejemplo:
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;
/
Los parámetros son:
-
table_name
: es el nombre de la tabla externa.
-
credential_name
: es el nombre de la credencial creada en el paso anterior.
-
file_uri_list
: es una lista delimitada por comas de los URI de archivo de origen. Hay dos opciones para esta lista:
-
Especifique una lista delimitada por comas de URI de archivos individuales sin comodines.
-
Especifique un URI de archivo único con comodines, donde los comodines solo pueden estar después de la última barra "/". Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter.
-
column_list
: es una lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa. La lista incluye las columnas dentro del archivo de datos y las derivadas del nombre del objeto (de los nombres de la ruta del archivo).
column_list
no es necesario cuando los archivos de datos son archivos estructurados (Parquet, Avro u ORC).
-
format
: define las opciones que puede especificar para describir el formato del archivo de origen. El parámetro partition_columns
format
especifica los nombres de las columnas de partición.
Si los datos del archivo de origen están cifrados, descifre los datos especificando la opción de formato encryption
. Consulte Descifrado de datos durante la importación desde Object Storage para obtener más información sobre el descifrado de datos.
Para obtener más información, consulte DBMS_CLOUD Package Format Options.
En este ejemplo, namespace-string
es el espacio de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
La llamada DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
generaría la siguiente definición de tabla:
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 ;
Consulte CREATE_EXTERNAL_PART_TABLE Procedure para obtener información detallada sobre los parámetros.
Consulte Formatos de URI DBMS_CLOUD para obtener más información sobre los servicios de almacenamiento de objetos en la nube soportados.