Exportar Dados como Parquet para o Cloud Object Storage

Mostra as etapas para exportar dados da tabela do seu Autonomous Database para o Cloud Object Storage como dados Parquet especificando uma consulta.

Esse método de exportação suporta todos os Cloud Object Stores suportados pelo Autonomous Database, e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar seu Oracle Cloud Infrastructure Object Store, Amazon Resource Names (ARNs) para acessar o AWS Simple Storage Service (S3), um controlador de serviços do Azure para acessar o armazenamento BLOB do Azure ou o Azure Data Lake Storage, ou uma conta de serviço do Google para acessar os recursos do Google Cloud Platform (GCP).

  1. Conecte-se à sua instância do Autonomous Database.

    Consulte Estabelecer Conexão com o Autonomous Database para obter mais informações.

  2. Armazene a sua credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

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

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

    Não será necessário criar uma credencial para acessar o Oracle Cloud Infrastructure Object Store se você ativar as credenciais do controlador de recursos. Consulte Usar o Controlador de Recursos para Acessar Recursos da Oracle Cloud Infrastructure para obter mais informações.

  3. Execute o DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type com o valor parquet para exportar os resultados como arquivos parquet no Cloud Object Storage.
    Para gerar os arquivos de saída parquet, há duas opções para o parâmetro file_uri_list:
    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage e inclua um prefixo de nome de arquivo a ser usado ao gerar os nomes dos arquivos parquet exportados.

    Se você não incluir o prefixo de nome de arquivo no file_uri_list, o DBMS_CLOUD.EXPORT_DATA fornecerá um prefixo de nome de arquivo. Consulte Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    Por exemplo, o seguinte mostra DBMS_CLOUD.EXPORT_DATA com um prefixo de nome de arquivo especificado em 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;
    /

    Neste exemplo, namespace-string é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

    Para obter informações detalhadas sobre os parâmetros, consulte ProcedimentoEXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com o DBMS_CLOUD.EXPORT_DATA, consulte DBMS_CLOUD Package Format Options for EXPORT_DATA.

Observações para exportação com DBMS_CLOUD.EXPORT_DATA:

  • O parâmetro query que você fornece pode ser uma consulta avançada, se necessário, como uma consulta que inclui junções ou subconsultas.

  • Especifique o parâmetro format com a opção compression para compactar os arquivos de saída. O compression padrão para type parquet é snappy.

  • Quando não precisar mais dos arquivos que você exporta, use o procedimento DBMS_CLOUD.DELETE_OBJECT ou use comandos nativos do Cloud Object Storage para excluir os arquivos.

  • Consulte DBMS_CLOUD Package Oracle Data Type to Parquet Mapping para obter detalhes sobre o mapeamento de Tipo Oracle para Tipo Parquet.

    Os seguintes tipos não são suportados ou têm limitações no suporte para exportar Parquet com DBMS_CLOUD.EXPORT_DATA:

    Tipo Oracle Observações

    BFILE

    Não suportado

    BLOB

    Não suportado

    DATE

    Suportado com a seguinte limitação: o formato DATE suporta apenas data, mês e ano. Não há suporte para hora, minuto e segundos.

    Consulte DBMS_CLOUD Package Oracle Data Type to Parquet Mapping para obter detalhes sobre as limitações de formato NLS para exportar DATE para Parquet.

    INTERVAL DAY TO SECOND

    Suportado e tratado como string internamente

    INTERVAL YEAR TO MONTH

    Suportado e tratado como string internamente

    LONG

    Não suportado

    LONG RAW

    Não suportado

    NUMBER

    Suportado com as seguintes limitações:

    • Pode ter precisão máxima de 38 e escala igual a menos de precisão.
    • Se nenhuma precisão e escala forem fornecidas para o tipo de coluna NUMBER, por padrão, será usada a precisão de 38 e a escala de 20.
    • A escala negativa não é suportada para tipos NUMBER.

    Object Types

    Não suportado

    TIMESTAMP

    Suportado com as seguintes limitações:

    • Se houver várias colunas com precisão diferente, a maior precisão será obtida.
    • TIMESTAMP WITH TIME ZONE O tipo de dados Oracle usará somente o timestamp.

    Consulte DBMS_CLOUD Package Oracle Data Type to Parquet Mapping para obter detalhes sobre as limitações de formato NLS para exportar TIMESTAMP para Parquet.