Exportar Dados como Parquet para o Cloud Object Storage

Mostra as etapas para exportar dados de tabelas do Autonomous Database para o Cloud Object Storage como dados Parquet especificando uma consulta.

Esse método de exportação suporta todos os Armazenamentos de Objetos na Nuvem suportados pelo Autonomous Database e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar o Armazenamento de Objetos do Oracle Cloud Infrastructure, ARNs (Amazon Resource Names) 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 à instância do Autonomous Database.

    Consulte Conectar-se ao Autonomous Database para obter mais informações.

  2. Armazene a 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.

    A criação de uma credencial para acessar o Oracle Cloud Infrastructure Object Store não será necessária se você ativar as credenciais do controlador de recursos. Para obter mais informações, consulte Usar o Controlador de Recursos para Acessar Recursos do Oracle Cloud Infrastructure.

  3. Execute 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 com o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list com 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. Consulte Nomenclatura de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    O seguinte exemplo 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 corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname corresponde ao 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 Procedimento EXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com DBMS_CLOUD.EXPORT_DATA, consulte Opções de Formato do Pacote DBMS_CLOUD para EXPORT_DATA.

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

  • O parâmetro query fornecido poderá 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 você não precisar mais dos arquivos exportados, use o procedimento DBMS_CLOUD.DELETE_OBJECT ou os comandos nativos do Cloud Object Storage para excluir os arquivos.

  • Consulte DBMS_CLOUD Mapeamento do Tipo de Dados Oracle para Parquet do Pacote Oracle para obter detalhes sobre o mapeamento do Tipo Oracle para Parquet.

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

    Tipo Oracle Observações

    BFILE

    Sem suporte

    BLOB

    Sem suporte

    DATE

    Suportado com a seguinte limitação: o formato DATE suporta apenas data, mês e ano. Hora, minuto e segundos não são suportados.

    Consulte DBMS_CLOUD Package Oracle Data Type to Parquet Mapping para obter detalhes sobre 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

    Sem suporte

    LONG RAW

    Sem suporte

    NUMBER

    Suportado com as seguintes limitações:

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

    Object Types

    Sem suporte

    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á apenas o timestamp.

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