Consulta de Tablas Externas con Partición Implícita
En Autonomous Database, puede crear tablas externas particionadas implícitas a partir de datos particionados de estilo Hive o a partir de datos particionados de carpetas simples almacenados en el almacén de objetos en la nube.
- Acerca de las tablas externas con partición implícita
En Autonomous Database, utilice el procedimientoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear tablas externas particionadas implícitas a partir de datos particionados de estilo Hive o a partir de datos particionados de carpetas simples almacenados en el almacén de objetos en la nube. - Consulta de datos particionados implícitos externos con la organización de archivos de origen de formato de Hive
Utilice el procedimientoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear una tabla externa particionada implícita a partir de datos del almacén de objetos generados a partir de datos de Hive. - Consulta de datos de estilo no de Hive particionados implícitos externos
Utilice el procedimientoDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear una tabla externa particionada implícita a partir de datos del almacenamiento de objetos que se hayan generado a partir de datos que no sean de Hive.
Tema principal: Consulta de datos externos con Autonomous Database
Acerca de las Tablas Externas con Partición Implícita
En Autonomous Database, utilice el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear tablas externas particionadas implícitas a partir de datos particionados de estilo Hive o a partir de datos particionados de carpetas simples almacenados en el almacén de objetos en la nube.
Utilice el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear tablas externas particionadas implícitas. Al transferir las opciones adecuadas a este procedimiento, las particiones se derivan de los datos de origen. Las tablas externas particionadas soportan la detección en tiempo de ejecución de columnas de partición y sus valores. La detección en tiempo de ejecución de cambios en la estructura del almacén de objetos subyacente, como la adición o eliminación de objetos, simplifica el proceso de mantenimiento al eliminar la necesidad de procedimientos de sincronización adicionales requeridos por DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
. Esto garantiza que los datos estén actualizados en tiempo de ejecución de consultas.
Con la partición implícita, Autonomous Database determina automáticamente las columnas en las que se "particiona" una tabla según la estructura de archivos jerárquica del origen de almacenamiento de objetos. No es necesario declarar explícitamente un esquema de partición. La partición implícita proporciona ventajas de rendimiento similares a las tablas de partición sin necesidad de definir explícitamente una tabla externa particionada mediante el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
.
Las tablas externas particionadas implícitas soportan los siguientes estilos de nomenclatura para los objetos particionados en el almacén de objetos:
- Formato de nomenclatura de Hive: los datos del almacenamiento de objetos generados a partir de Hive tienen el siguiente formato.
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Para obtener un ejemplo, consulte Query External Implicit Partited Data with Hive Format Source File Organization.
- Formato de nomenclatura "Pathtail" que no es de Hive: un segundo formato que se encuentra a menudo en los lagos de datos es similar al formato de colmena, pero el nombre de la carpeta no incluye las columnas de partición.
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Para ver un ejemplo, consulte Consulta de datos de estilo no de Hive particionados implícitos externos.
Para obtener más información sobre los formatos de nomenclatura, consulte Acerca de las tablas externas con partición de archivos de origen.
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, se pueden crear tablas externas particionadas implícitas de las siguientes formas:
- Defina el tipo de partición en colmena con una lista determinada de columnas de partición
En este caso,
implicit_partition_type
se define enhive
yimplicit_partition_columns
proporciona una lista de columnas de partición.Por ejemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive", "implicit_partition_columns":["country","year","month"]}');
- Defina el tipo de partición en colmena sin proporcionar una lista de columnas de partición
En este caso,
implicit_partition_type
se define enhive
y no se proporcionaimplicit_partition_columns
. Las columnas de partición se detectan automáticamente buscando '=' en la ruta especificada porfile_uri_list
.column_name
está a la izquierda de '=' y el valor está en el lado derecho. Si no se encuentracolumn_name
en la ruta de acceso, se devuelve un error.Por ejemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive"');
- Proporcione una lista de columnas de partición sin especificar el tipo
En este caso,
implicit_partition_type
no está definido yimplicit_partition_columns
proporciona una lista de columnas.Por ejemplo:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_columns":["country","year","month"]}');
Consulte Procedimiento CREATE_EXTERNAL_TABLE para obtener más información.
Tema principal: Consulta de tablas externas con partición implícita
Consulta de datos particionados implícitos externos con organización de archivos de origen de formato Hive
Utilice el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear una tabla externa particionada implícita a partir de datos del almacén de objetos generados a partir de datos de Hive.
Los archivos de origen de ejemplo del siguiente ejemplo utilizan este formato de nomenclatura:
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Tenga en cuenta los siguientes archivos de origen de ejemplo:
OBJBUCKET/sales/country=USA/year=2024/month=01/sales-2024-01.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-02.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-03.parquet
Para crear una tabla externa particionada implícita con datos almacenados en este formato de Hive de ejemplo, realice lo siguiente:
Tema principal: Consulta de tablas externas con partición implícita
Consulta de datos de estilo no de Hive particionados implícitos externos
Utilice el procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear una tabla externa particionada implícita a partir de datos en el almacenamiento de objetos que se ha generado a partir de datos que no son de Hive.
Los archivos de origen de ejemplo del siguiente ejemplo utilizan este formato de nomenclatura:
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Tenga en cuenta los siguientes archivos de origen de ejemplo:
OBJBUCKET/sales/USA/2024/01/sales-2024-01.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-02.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-03.parquet
Para crear una tabla externa particionada implícita con datos almacenados en este formato de Hive de ejemplo, realice lo siguiente:
Tema principal: Consulta de tablas externas con partición implícita