Este tópico explica como implantar e iniciar jobs PyFlink em streaming e batch, abordando o fluxo de desenvolvimento no Realtime Compute for Apache Flink.
Pré-requisitos
Se você utilizar um usuário RAM ou uma função RAM para acessar o console, verifique se a identidade tem as permissões necessárias. Para mais informações, consulte Permission Management.
Crie um workspace. Para mais informações, consulte Activate Realtime Compute for Apache Flink.
Etapa 1: Preparar arquivos de código Python
O console de gerenciamento do Realtime Compute for Apache Flink não oferece ambiente de desenvolvimento Python. Desenvolva seus jobs localmente. Para mais informações sobre depuração de jobs e conectores, consulte Develop PyFlink jobs.
Garanta que a versão do Flink usada no desenvolvimento local corresponda à versão do mecanismo selecionada na Etapa 3: Implantar um job PyFlink. Para saber como usar outras dependências, como ambientes virtuais Python personalizados, pacotes Python de terceiros, pacotes JAR e arquivos de dados, consulte Use Python dependencies.
Para começar rapidamente, este tópico fornece arquivos Python de exemplo para um job de contagem de palavras e um arquivo de dados de amostra. Baixe-os e use-os nas etapas a seguir.
-
Baixe o arquivo de job Python de exemplo apropriado.
Job de streaming: word_count_streaming.py.
Job batch: word_count_batch.py.
Clique em Shakespeare para baixar o arquivo de dados de exemplo.
Etapa 2: Fazer upload dos arquivos Python e de dados
Faça login no console do Realtime Compute.
Localize o workspace Flink desejado e clique em Console na coluna Actions.
No painel de navegação à esquerda, clique em Artifacts.
-
Clique em Upload Artifact para enviar os arquivos Python e de dados.
Envie os arquivos Python e de dados de exemplo baixados na Etapa 1. Para mais informações sobre caminhos de armazenamento de arquivos, consulte Artifacts.
Etapa 3: Implantar um job PyFlink
Streaming
Na página , clique em .
-
Configure os parâmetros da implantação.
Parâmetro
Descrição
Exemplo
Deployment mode
Selecione o modo de streaming.
stream mode
Deployment name
Insira um nome para a implantação Python.
flink-streaming-test-python
Engine version
Versão do mecanismo Flink para a implantação.
Recomendamos usar uma versão com a tag RECOMMENDED ou STABLE para garantir maior confiabilidade e desempenho. Para mais informações, consulte Release Notes e Engine Versions.
vvr-8.0.9-flink-1.17
Python URI
Baixe o arquivo de exemplo word_count_streaming.py. Em seguida, clique no ícone de upload
para selecionar e enviar o arquivo.Se o arquivo já existir em Artifacts, selecione-o diretamente sem precisar fazer novo upload.
-
Entry module
Módulo de ponto de entrada do programa.
-
Este parâmetro não é necessário se o job PyFlink for um arquivo .py.
-
Se o job PyFlink for um arquivo .zip, insira o módulo de entrada. Exemplo:
word_count.
Não obrigatório
Entry point main arguments
Argumentos a serem passados para o método principal.
Neste tutorial, insira o caminho de armazenamento do arquivo de dados de entrada Shakespeare.
--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/ShakespeareCopie o caminho completo do arquivo Shakespeare na página Artifacts.
Deployment target
Na lista suspensa, selecione a queue ou o session cluster de destino. Não recomendamos session clusters para produção. Para mais informações, consulte Manage queues e Create a session cluster.
ImportanteImplantações em session cluster não suportam métricas de monitoramento, configuração de alertas ou Autopilot. Use session clusters apenas para desenvolvimento e testes; não os utilize em ambientes de produção. Para mais informações, consulte Debug deployments.
default-queue
Para mais informações sobre outros parâmetros de configuração, consulte Deploy a job.
-
Clique em Deploy.
Batch
Na página , clique em Create Deployment e selecione Python Deployment.
-
Configure os parâmetros da implantação.
Parâmetro
Descrição
Exemplo
Deployment mode
Selecione o modo batch.
batch mode
Deployment name
Insira um nome para a implantação Python.
flink-batch-test-python
Engine version
Versão do mecanismo Flink para a implantação.
Recomendamos usar uma versão com a tag RECOMMENDED ou STABLE para garantir maior confiabilidade e desempenho. Para mais informações, consulte Release Notes e Engine Versions.
vvr-8.0.9-flink-1.17
Python URI
Baixe o arquivo de exemplo word_count_batch.py. Em seguida, clique no ícone de upload
para selecionar e enviar o arquivo.-
Entry module
Módulo de ponto de entrada do programa.
-
Este parâmetro não é necessário se o job PyFlink for um arquivo .py.
-
Se o job PyFlink for um arquivo .zip, insira o módulo de entrada. Exemplo:
word_count.
Não obrigatório
Entry point main arguments
Argumentos a serem passados para o método principal.
Neste tutorial, insira os caminhos de armazenamento do arquivo de entrada Shakespeare e do diretório de saída
python-batch-quickstart-test-output.NotaBasta especificar o caminho do diretório de saída. Esse diretório deve estar no mesmo diretório pai do arquivo de entrada. Não é necessário criar o diretório de saída antecipadamente.
--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/Shakespeare--output oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/python-batch-quickstart-test-outputCopie o caminho completo do arquivo Shakespeare na página Artifacts.
Deployment target
Na lista suspensa, selecione a queue ou o session cluster de destino. Não recomendamos session clusters para produção. Para mais informações, consulte Manage queues e Create a session cluster.
ImportanteImplantações em session cluster não suportam métricas de monitoramento, configuração de alertas ou Autopilot. Use session clusters apenas para desenvolvimento e testes; não os utilize em ambientes de produção. Para mais informações, consulte Debug deployments.
default-queue
Para mais informações sobre outros parâmetros de configuração, consulte Deploy a job.
-
Clique em Deploy.
Etapa 4: Iniciar a implantação e visualizar resultados
Streaming
Na página , localize a implantação desejada e clique em Start na coluna Actions.
-
Na caixa de diálogo Start Job, selecione Initial Mode e clique em Start. Para mais informações, consulte Start a deployment.
Após clicar em Start, o status RUNNING ou FINISHED indica que a implantação está sendo executada conforme esperado. Se você usar o arquivo de exemplo deste tópico, o status final será FINISHED.
-
Quando o status da implantação mudar para RUNNING, visualize os resultados da implantação de streaming.
ImportanteAo usar o arquivo Python de exemplo deste tópico, os resultados são excluídos quando a implantação de streaming entra no estado FINISHED. Portanto, visualize os resultados apenas enquanto a implantação estiver no estado RUNNING.
No arquivo de log do TaskManager que termina com .out, pesquise por
shakespearepara encontrar o resultado do cálculo.Na aba Logs, clique na aba Running Task Managers. Para o TaskManager correspondente, clique na subaba Log List. Abra o arquivo
flink.oute insirashakespearena caixa de pesquisa no canto superior direito para localizar o resultado da contagem de palavras, como(shakespeare,1).
Batch
-
Na página , localize a implantação desejada e clique em Start na coluna Actions.
Para filtrar a lista, selecione Batch Deployment na lista suspensa de tipos.
Na caixa de diálogo Start Job, clique em Start. Para mais informações, consulte Start a deployment.
-
Assim que o status da implantação mudar para FINISHED, visualize os resultados da implantação batch.
Faça login no console do OSS. Acesse o diretório oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/python-batch-quickstart-test-output. Clique na pasta nomeada com a data e hora de início da implantação, selecione o arquivo alvo e clique em Download no painel exibido.
A implantação batch gera um arquivo .ext. Após baixar o arquivo, abra-o com um editor de texto ou Microsoft Word para visualizar os resultados. A saída será semelhante ao seguinte:
(As,40) (At,5) (Ay,1) (Be,9) (By,14) (Do,4) (He,7) (I,,4) (If,34) (In,36) (Is,10) (It,6)
(Opcional) Etapa 5: Parar uma implantação
Para aplicar alterações a um job (como modificações de código, atualizações de parâmetros WITH ou mudanças de versão), reimplemente-o, pare-o e reinicie-o em seguida. Também é necessário reiniciar para uma inicialização sem estado ou para aplicar alterações de configuração não dinâmicas. Para mais informações sobre como parar um job, consulte Stop a job.
Tópicos relacionados
Configure recursos para uma implantação antes de iniciá-la ou modifique-os enquanto ela estiver em execução. Dois modos de configuração de recursos são suportados: básico (granularidade grossa) e especialista (granularidade fina). Para mais informações, consulte Configure deployment resources.
O Realtime Compute for Apache Flink suporta atualizações dinâmicas nos parâmetros de implantação. Isso permite que as configurações entrem em vigor mais rapidamente e reduz o tempo de inatividade do service causado pela interrupção e reinício das implantações. Para mais informações, consulte Dynamic scaling and parameter updates.
Configure os níveis de log da implantação e especifique saídas diferentes para cada nível. Para mais informações, consulte Configure Log Output.
Para um passo a passo do fluxo de desenvolvimento SQL, consulte Flink SQL job.