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

Muestra los pasos para exportar datos de tabla de su instancia 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, y puede utilizar una entidad de recurso de Oracle Cloud Infrastructure para acceder a Oracle Cloud Infrastructure Object Store, Amazon Resource Names (ARN) para acceder a AWS Simple Storage Service (S3), una entidad de servicio de Azure para acceder al almacenamiento BLOB de Azure o al almacenamiento de Azure Data Lake, o una cuenta de servicio de Google para acceder a los recursos de Google Cloud Platform (GCP).

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

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

  2. Almacene su 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.

    No es necesario crear una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure si activa las credenciales de entidad de recurso. Consulte Uso de la entidad 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 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 Oracle Cloud Infrastructure Object Storage Namepace, 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 el 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 para exportar con DBMS_CLOUD.EXPORT_DATA:

  • El parámetro query que proporcione puede ser una consulta avanzada, si es necesario, 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 dato de Oracle de paquete a parquet 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 admitido

    BLOB

    No admitido

    DATE

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

    Consulte DBMS_CLOUD Package 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 se trata como cadena internamente

    INTERVAL YEAR TO MONTH

    Soportado y se trata como cadena internamente

    LONG

    No admitido

    LONG RAW

    No admitido

    NUMBER

    Se admite con las siguientes limitaciones:

    • Puede tener una precisión máxima de 38 y una escala igual a menos de precisión.
    • Si no se proporciona precisión y escala para el tipo de columna NUMBER, se utiliza por defecto una precisión de 38 y una escala de 20.
    • No se admite la escala negativa para los tipos NUMBER.

    Object Types

    No admitido

    TIMESTAMP

    Se admite con las siguientes limitaciones:

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

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