Exportación de datos como Parquet al almacenamiento de objetos en la nube

Muestra los pasos para exportar datos de tabla de Autonomous Database a Cloud Object Storage como datos de Parquet especificando una consulta.

Este método de exportación soporta todos los almacenes de objetos en la nube soportados por Autonomous Database. Además, puede utilizar una entidad de recurso de Oracle Cloud Infrastructure para acceder al almacén de objetos de Oracle Cloud Infrastructure, a los nombres de recursos de Amazon (ARN) con el fin de acceder al servicio de almacenamiento simple de AWS (S3), a una entidad de servicio de Azure para acceder al almacenamiento BLOB de Azure o a una cuenta de servicio de Google con el fin de acceder a los recursos de la plataforma en la nube (GCP).

  1. Conéctese a la instancia de Autonomous Database.

    Consulte Conexión a Autonomous Database para obtener más información.

  2. Store la credencial de Cloud Object Storage mediante DBMS_CLOUD.CREATE_CREDENTIAL.

    Por ejemplo:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    Los valores que proporcione para username y password dependen del servicio de Cloud Object Storage que utilice.

    La creación de una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure no es necesaria si activa las credenciales de la entidad de recurso. Consulte Uso de la principal de recurso para acceder a los recursos de Oracle Cloud Infrastructure para obtener más información.

  3. Ejecute DBMS_CLOUD.EXPORT_DATA y especifique el parámetro format type con el valor parquet para exportar los resultados como archivos de parquet en Cloud Object Storage.
    Para generar los archivos de salida de parquet, hay dos opciones para el parámetro file_uri_list:
    • Defina el valor file_uri_list en la URL de un cubo existente en su instancia de Cloud Object Storage.

    • Defina el valor file_uri_list en la URL de un cubo existente en Cloud Object Storage e incluya un prefijo de nombre de archivo que se utilizará al generar los nombres de archivo para los archivos de parquet exportados.

    Si no incluye el prefijo de nombre de archivo en file_uri_list, DBMS_CLOUD.EXPORT_DATA proporciona un prefijo de nombre de archivo. Consulte Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML) para obtener más información.

    Por ejemplo, a continuación se muestra DBMS_CLOUD.EXPORT_DATA con un prefijo de nombre de archivo especificado en file_uri_list:

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query           => 'SELECT * FROM DEPT',
        format          => JSON_OBJECT('type' value 'parquet', 'compression' value 'snappy'));
    END;
    /

    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.

    Para obtener información detallada sobre los parámetros, consulte Procedimiento EXPORT_DATA.

    Para obtener información detallada sobre los parámetros format disponibles que puede utilizar con DBMS_CLOUD.EXPORT_DATA, consulte DBMS_CLOUD Package Format Options for EXPORT_DATA.

Notas sobre la exportación con DBMS_CLOUD.EXPORT_DATA:

  • Si es necesario, el parámetro query que proporcione puede ser una consulta avanzada, como una consulta que incluya uniones o subconsultas.

  • Especifique el parámetro format con la opción compression para comprimir los archivos de salida. El valor por defecto compression para type parquet es snappy.

  • Cuando ya no necesite los archivos que exporte, utilice el procedimiento DBMS_CLOUD.DELETE_OBJECT o utilice comandos nativos de Cloud Object Storage para suprimir los archivos.

  • Consulte DBMS_CLOUD Asignación de tipo de datos de Oracle a Parquet en el paquete para obtener más información sobre la asignación de tipo de Oracle a tipo de Parquet.

    Los siguientes tipos no están soportados o tienen limitaciones en su soporte para exportar Parquet con DBMS_CLOUD.EXPORT_DATA:

    Type Oracle Notas

    BFILE

    No soportada

    BLOB

    No soportada

    DATE

    Soportado con la siguiente limitación: el formato DATE solo soporta fecha, mes y año. La hora, los minutos y los segundos no están soportados.

    Consulte DBMS_CLOUD Paquete Oracle Data Type to Parquet Mapping para obtener más información sobre las limitaciones de formato NLS para exportar DATE a Parquet.

    INTERVAL DAY TO SECOND

    Soportado y tratado internamente como cadena

    INTERVAL YEAR TO MONTH

    Soportado y tratado internamente como cadena

    LONG

    No soportada

    LONG RAW

    No soportada

    NUMBER

    Se admite con las siguientes limitaciones:

    • Puede tener una precisión máxima de 38 y una escala igual a menor que la precisión.
    • Si no se proporciona ninguna precisión y escala para el tipo de columna NUMBER, se utiliza por defecto una precisión de 38 y una escala de 20.
    • La escala negativa no está soportada para los tipos NUMBER.

    Object Types

    No soportada

    TIMESTAMP

    Se admite con las siguientes limitaciones:

    • Si hay varias columnas con una precisión diferente, se tomará la mayor precisión.
    • TIMESTAMP WITH TIME ZONE El tipo de dato Oracle solo utilizará el registro de hora.

    Consulte DBMS_CLOUD Paquete Oracle Data Type to Parquet Mapping para obtener más información sobre las limitaciones de formato NLS para exportar TIMESTAMP a Parquet.