Integração do Data Flow

O recurso Suporte ao Serviço Data Flow nos Pipelines de ML permite que os usuários integrem Aplicativos do Serviço Data Flow como etapas em um pipeline.

Com essa nova funcionalidade, os usuários podem orquestrar as execuções dos Aplicativos do Serviço Data Flow (Apache Spark as a Service) juntamente com outras etapas em um Pipeline de ML, simplificando tarefas de processamento de dados em larga escala.

Quando um pipeline que contém uma etapa do serviço Data Flow é executado, ele cria e gerencia automaticamente uma nova execução do Aplicativo Data Flow associado a essa etapa. A execução do serviço Data Flow é tratada da mesma forma que qualquer outra etapa do pipeline. Quando concluído com sucesso, o pipeline continua sua execução, iniciando etapas posteriores como parte da orquestração do pipeline.

O uso de Aplicativos de Fluxo de Dados em Pipelines de ML é simples:

1. Adicionar uma Etapa do Serviço Data Flow
Selecione o tipo de etapa do Fluxo de Dados no Pipeline de ML.
2. Selecionar um Aplicativo do Serviço Data Flow
Selecione o aplicativo Data Flow que você deseja executar como etapa e configure opções como tamanho do cluster e variáveis de ambiente.
3. Executar o Pipeline
Inicie uma execução do pipeline. Quando a etapa do Fluxo de Dados é atingida, o aplicativo associado é executado. Quando concluído, os resultados são refletidos na execução da etapa, e o pipeline avança perfeitamente para as próximas etapas.
Essa integração simplifica os fluxos de trabalho dos cientistas de dados, permitindo que eles lidem com grandes conjuntos de dados de forma eficiente dentro do mesmo pipeline, aproveitando o poder de computação escalável do OCI Data Flow, mantendo a automação por meio de Pipelines de ML.

Políticas

Inclua as seguintes Políticas para integração do serviço Data Flow com pipelines:
  • Integração de Fluxo de Dados e Pipelines.
  • Acesso de Execução do Pipeline aos Serviços do OCI.
  • (Opcional) Políticas de Rede Personalizadas, mas somente se estiver usando uma rede personalizada.
Consulte Políticas do Serviço Data Flow para obter todos os pré-requisitos necessários para usar o serviço Data Flow.
Observação

Quando uma execução do serviço Data Flow é acionada por uma execução do Pipeline, ele herda o controlador de recursos datasciencepipelinerun. Portanto, conceder privilégios a datasciencepipelinerun também concede privilégios ao código em execução dentro da execução do Fluxo de Dados iniciada pela execução do Pipeline.

Configurando o Serviço Data Flow com Pipelines

Verifique se as Políticas apropriadas foram aplicadas.

  1. Ao definir etapas de pipeline para usar o serviço Data Flow, enquanto Criando um Pipeline, selecione Em aplicativos do serviço Data Flow.
  2. Em Selecionar um aplicativo de fluxo de dados, selecione o aplicativo do serviço Data Flow a ser usado.

    Se o aplicativo Data Flow estiver em outro compartimento, selecione Alterar compartimento.

  3. (Opcional) Na seção Configuração do serviço Data Flow, selecione Configurar.

    No painel Configurar sua configuração do Data Flow:

    1. Selecione a forma do Driver e a forma do Executor.
    2. Digite o Número de executores.
    3. (Opcional) Selecione o bucket de log.
    4. (Opcional) Adicione propriedades de configuração do Spark.
    5. (Opcional) Especifique o URI do bucket do Warehouse.

Guia de Início Rápido

Este é um guia passo a passo para criar um pipeline do serviço Data Flow.

  1. Siga a documentação de Políticas do Serviço Data Flow. Ele detalha a configuração inicial necessária para que você possa usar o serviço Data Flow.
  2. Faça upload do seguinte aplicativo Python de amostra, hello-world.py, para um bucket:
    print("======Start======")
    import os
    from pyspark.sql import SparkSession
     
    def in_dataflow():
        if os.environ.get("HOME") == "/home/dataflow":
            return True
        return False
     
    def get_spark():
        if in_dataflow():
            return SparkSession.builder.appName("hello").getOrCreate()
        else:
            return SparkSession.builder.appName("LocalSparkSession").master("local[*]").getOrCreate()
     
    print("======Opening Session======")
    spark = get_spark()
    print("======Application Created======")
    # Test the connection by creating a simple DataFrame
    df = spark.createDataFrame([("Hello",), ("World",)], ["word"])
    print("======Data Frame Created======")
    # Show the DataFrame's content
    df.show()
    print("======Done======")
  3. Siga as etapas em Políticas do Serviço Data Flow para criar um aplicativo do serviço Data Flow usando o aplicativo Python na etapa 2.
  4. Teste o aplicativo do serviço Data Flow.
    1. Na página de detalhes do Aplicativo, clique em Executar.
    2. No painel Executar aplicativo, aplique argumentos e parâmetros, atualize a configuração do recurso ou adicione propriedades Spark suportadas, conforme necessário.
    3. Selecione Run para executar o Aplicativo.
    4. (Opcional) Verifique os logs. Vá até os detalhes da execução e selecione logs.
  5. Crie o pipeline.

    Antes de criar um pipeline, certifique-se de ter políticas que permitam que o pipeline execute o recurso usando o serviço Data Flow e acesse o bucket com seu aplicativo hello-world. Para obter mais informações, consulte Políticas de Pipeline.

    1. Crie um pipeline com uma etapa que use seu aplicativo hello-world Data Flow:
      1. Crie um pipeline com um nome como Data Flow Step Demo.
      2. Selecione Adicionar etapas de pipeline.
      3. Atribua um nome à etapa, por exemplo, Step 1.
      4. Para usar seu aplicativo Data Flow, selecione Em aplicativos Data Flow.
      5. Selecione o aplicativo do serviço Data Flow.
      6. Se o aplicativo Data Flow estiver em outro compartimento, selecione Alterar compartimento.
      7. Selecione Salvar para salvar a etapa.
      8. (Opcional) Defina o log.
      9. Selecione Criar para criar o pipeline.
    2. Ativar logs de pipeline:
      1. Vá para os detalhes do pipeline.
      2. Selecione o recurso Logs.
      3. Ativar logs.
    3. Execute o pipeline:
      1. Vá para os detalhes do pipeline.
      2. Selecione o recurso de Execução do pipeline.
      3. Selecione Iniciar uma execução de pipeline.
      4. Selecione Iniciar.