Criar e Configurar Pipelines

Você pode criar um ou mais pipelines de carga ou exportação. Ao criar um pipeline, você usa parâmetros e define atributos de pipeline para configurar o pipeline.

As opções para criar e configurar um pipeline seguem:

Criar e Configurar um Pipeline para Carregar Dados

Você pode criar um pipeline para carregar dados de arquivos externos no armazenamento de objetos para tabelas no Autonomous Database.

Um pipeline de carga consome dados colocados no armazenamento de objetos e os carrega em uma tabela no Autonomous Database. Quando você cria um pipeline de carga, o pipeline é executado em intervalos regulares para consumir dados colocados no armazenamento de objetos, quando novos arquivos de dados chegam, o pipeline carrega os novos dados. Você também pode usar um pipeline para copiar arquivos de forma confiável, com recursos de retomada e repetição, do armazenamento de objetos para uma tabela no seu banco de dados.

Com um pipeline de carga, o pacote de pipeline usa DBMS_CLOUD.COPY_DATA para carregar dados.

No seu Autonomous Database, use uma tabela existente ou crie a tabela de banco de dados na qual você está carregando dados. Por exemplo:

CREATE TABLE EMPLOYEE
            (name     VARCHAR2(128),
             age      NUMBER,
             salary   NUMBER);
  1. Crie um pipeline para carregar dados do armazenamento de objetos.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name => 'MY_PIPE1',
            pipeline_type => 'LOAD',
            description   => 'Load metrics from object store into a table'
      );
    END;
    /

    Consulte CREATE_PIPELINE Procedimento para obter mais informações.

  2. Crie um objeto de credencial para acessar o armazenamento de objetos que contém os arquivos que você está carregando.

    Você especifica a credencial para o local de origem do pipeline com o atributo credential_name. Se você não fornecer um credential_name na próxima etapa, o valor credential_name será definido como NULL. Você pode usar o valor NULL padrão quando o atributo location for um URL público ou pré-autenticado.

    Consulte CREATE_CREDENTIAL Procedimento para obter mais informações.

  3. Defina os atributos do pipeline, incluindo os atributos necessários: location, table_name e format.
    BEGIN
         DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
           pipeline_name => 'MY_PIPE1',
           attributes    => JSON_OBJECT(
                'credential_name' VALUE 'OBJECT_STORE_CRED',
                'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                'table_name' VALUE 'employee',
                'format' VALUE '{"type":"json", "columnpath":["$.NAME", "$.AGE", "$.SALARY"]}',
                'priority' VALUE 'HIGH',
                'interval' VALUE '20')
      );
    END;
    /

    Os seguintes atributos devem ser definidos para executar um pipeline de carga:

    • location: Especifica o local do arquivo de origem no armazenamento de objetos.

    • table_name: Especifica a tabela no banco de dados em que você está carregando dados. O location especificado é para um table_name por pipeline.

    • format: Descreve o formato dos dados que você está carregando.

      Consulte DBMS_CLOUD Package Format Options para obter mais informações.

    credential_name é a credencial que você criou na etapa anterior.

    O valor priority determina o número de arquivos carregados em paralelo. Um pipeline com uma prioridade mais alta consome mais recursos de banco de dados e conclui cada execução mais rapidamente, em comparação com a execução em uma prioridade mais baixa.

    O valor interval especifica o intervalo de tempo em minutos entre execuções consecutivas de um job de pipeline. O interval padrão é de 15 minutos.

    Consulte Atributos DBMS_CLOUD_PIPELINE para obter detalhes sobre os atributos do pipeline.

    Depois de criar um pipeline, você poderá testá-lo ou iniciá-lo:

Como alternativa, para definir o formato para JSON, você poderia usar o seguinte formato:

BEGIN
    DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
        pipeline_name   => 'MY_PIPE1',
        attribute_name  => 'format',
        attribute_value => JSON_OBJECT('type' value 'json', 'columnpath' value '["$.NAME", "$.AGE", "$.SALARY"]')
    );
END;
/

Criar e Configurar um Pipeline para a Coluna Exportar com Timestamp

Você pode criar um pipeline de exportação para exportar automaticamente dados de séries temporais do seu Autonomous Database para o armazenamento de objetos.

Usando essa opção de pipeline de exportação, você especifica uma tabela ou consulta SQL e uma coluna com um timestamp que o pipeline usa para acompanhar o horário do último upload. Você pode usar um pipeline de exportação para compartilhar dados para consumo por outros aplicativos ou para salvar dados no armazenamento de objetos.

Com um pipeline de exportação, o pacote de pipeline usa DBMS_CLOUD.EXPORT_DATA para exportar dados.

Um pipeline de exportação exporta dados do seu Autonomous Database para o armazenamento de objetos. Quando você cria um pipeline de exportação, o pipeline é executado em intervalos regulares e coloca dados no armazenamento de objetos.

  1. Crie um pipeline para exportar dados para o armazenamento de objetos.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name=>'EXP_PIPE1',
            pipeline_type=>'EXPORT',
            description=>'Export time series metrics to object store');
    END;
    /

    Consulte CREATE_PIPELINE Procedimento para obter mais informações.

  2. Crie um objeto de credencial para acessar o local de armazenamento do objeto de destino no qual você está exportando arquivos de dados.

    Você especifica a credencial para o local de destino do pipeline com o atributo credential_name. Se você não fornecer um credential_name na próxima etapa, o valor credential_name será definido como NULL. Você pode usar o valor NULL padrão quando o atributo location for um URL público ou pré-autenticado.

    Consulte CREATE_CREDENTIAL Procedimento para obter mais informações.

  3. Defina os atributos do pipeline de exportação.

    Quando você especifica um parâmetro table_name, as linhas da tabela são exportadas para o armazenamento de objetos. Quando você especifica um parâmetro query, a consulta especifica uma instrução SELECT para que apenas os dados necessários sejam exportados para o armazenamento de objetos.

    • Usando um parâmetro table_name:

      BEGIN
           DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
             pipeline_name => 'EXP_PIPE1',
             attributes    => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
                'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                'table_name' VALUE 'metric_table',
                'key_column' VALUE 'metric_time',
                'format' VALUE '{"type": "json"}',
                'priority' VALUE 'MEDIUM',
                'interval' VALUE '20')
        );
      END;
      /
    • Usando um parâmetro query:

      BEGIN
           DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
             pipeline_name => 'EXP_PIPE1',
             attributes    => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
                 'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
                 'query' VALUE 'SELECT * from metrics_table',
                 'key_column' VALUE 'metric_time',
                 'format' VALUE '{"type": "json"}',
                 'priority' VALUE 'MEDIUM',
                 'interval' VALUE '20')
        );
      END;
      /

    Em que credential_name é a credencial criada na etapa anterior.

    Os seguintes atributos devem ser definidos para executar um pipeline de exportação:

    • location: Especifica o local do armazenamento de objetos de destino. O location especificado é para um table_name por pipeline.

    • table_name: Especifica a tabela no seu banco de dados que contém os dados que você está exportando (o parâmetro table_name ou o parâmetro query é obrigatório).

    • query: Especifica a consulta a ser executada no seu banco de dados que fornece os dados que você está exportando (o parâmetro table_name ou o parâmetro query é obrigatório).

    • format: Descreve o formato dos dados que você está exportando.

      Consulte DBMS_CLOUD Package Format Options para EXPORT_DATA para obter mais informações.

    O valor priority determina o grau de paralelismo para extrair dados do banco de dados.

    O valor interval especifica o intervalo de tempo em minutos entre execuções consecutivas de um job de pipeline. O interval padrão é de 15 minutos.

    Consulte Atributos DBMS_CLOUD_PIPELINE para obter detalhes sobre os atributos do pipeline.

    Depois de criar um pipeline, você poderá testá-lo ou iniciá-lo:

Criar e Configurar um Pipeline para Exportar Resultados de Consulta (sem um Timestamp)

Você pode criar um pipeline de exportação para exportar automaticamente dados do seu Autonomous Database para o armazenamento de objetos. Usando essa opção de pipeline de exportação, você especifica uma consulta SQL que o pipeline executa periodicamente para exportar dados para o armazenamento de objetos. Você pode usar essa opção de exportação para compartilhar os dados mais recentes do seu Autonomous Database para armazenamento de objetos de outros aplicativos para consumir os dados.

Um pipeline de exportação exporta dados do seu Autonomous Database para o armazenamento de objetos. Quando você cria um pipeline de exportação, o pipeline é executado em intervalos regulares e coloca dados no armazenamento de objetos.

  1. Crie um pipeline para exportar dados para o armazenamento de objetos.
    BEGIN
         DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
            pipeline_name=>'EXP_PIPE2',
            pipeline_type=>'EXPORT',
            description=>'Export query results to object store.');
    END;
    /

    Consulte CREATE_PIPELINE Procedimento para obter mais informações.

  2. Crie um objeto de credencial para acessar o local de armazenamento do objeto de destino no qual você está exportando arquivos de dados.

    Você especifica a credencial para o local de destino do pipeline com o atributo credential_name. Se você não fornecer um credential_name na próxima etapa, o valor credential_name será definido como NULL. Você pode usar o valor NULL padrão quando o atributo location for um URL público ou pré-autenticado.

    Consulte CREATE_CREDENTIAL Procedimento para obter mais informações.

  3. Defina os atributos do pipeline de exportação.
    BEGIN
         DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
           pipeline_name => 'EXP_PIPE2',
           attributes    => JSON_OBJECT(
              'credential_name' VALUE 'OBJECT_STORE_CRED',
              'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
              'query' VALUE 'SELECT * FROM table_name',
              'format' VALUE '{"type": "json"}',
              'priority' VALUE 'MEDIUM',
              'interval' VALUE '20')
      );
    END;
    /

    Em que credential_name é a credencial criada na etapa anterior.

    Os seguintes atributos devem ser definidos para executar um pipeline de exportação:

    • location: Especifica o local do armazenamento de objetos de destino.

    • query: Especifica a consulta a ser executada no seu banco de dados que fornece os dados que você está exportando.

    • format: Descreve o formato dos dados que você está exportando.

      Consulte DBMS_CLOUD Package Format Options para EXPORT_DATA para obter mais informações.

    O valor priority determina o grau de paralelismo para extrair dados do banco de dados.

    O valor interval especifica o intervalo de tempo em minutos entre execuções consecutivas de um job de pipeline. O interval padrão é de 15 minutos.

    Consulte Atributos DBMS_CLOUD_PIPELINE para obter detalhes sobre os atributos do pipeline.

    Depois de criar um pipeline, você poderá testá-lo ou iniciá-lo: