Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Usar dependências Python

Última atualização: Jun 27, 2026

Você pode usar ambientes virtuais Python personalizados, pacotes Python de terceiros, pacotes JAR e arquivos de dados em implantações Python do Realtime Compute for Apache Flink. Este tópico descreve como usar essas dependências nas implantações Python.

Visão geral

Use as dependências Python conforme as instruções das seções a seguir:

Ambiente Python pré-instalado

O ambiente do Flink totalmente gerenciado inclui um ambiente Python pré-instalado. As versões do Python são:

  • VVR 8.0.10 e anteriores: Python 3.7

  • VVR 8.0.11 e posteriores: Python 3.9

Nota

Para visualizar os pacotes de terceiros pré-instalados no ambiente Python, consulte Desenvolver um rascunho Python.

Alguns pacotes Python de terceiros exigem versões específicas da glibc. As versões da glibc pré-instaladas no ambiente Flink totalmente gerenciado são:

X86

  • VVR 8.x e anteriores: glibc 2,17

  • VVR 11.x e posteriores: glibc 2,31

ARM

  • VVR 11.2 e anteriores: glibc 2,17

  • VVR 11.3 e posteriores: glibc 2,31

Nota

A glibc oferece compatibilidade com versões futuras. A versão da glibc exigida pelos pacotes Python de terceiros não pode ser superior à versão da glibc presente no ambiente.

Usar um ambiente virtual Python personalizado

Nota

No Ververica Runtime (VVR) 4.X, há suporte apenas para ambientes virtuais do Python 3.7. No VVR 6.X ou posterior, é possível usar ambientes virtuais de versões mais recentes do Python.

Se o ambiente Python pré-instalado não atender às suas necessidades, use uma versão personalizada do Python por meio de ambientes virtuais. Cada ambiente virtual Python fornece um ambiente de execução completo, onde você pode instalar diversos pacotes de dependência. A seção a seguir explica como preparar um ambiente virtual Python.

  1. Prepare um ambiente virtual Python.

    1. Prepare o script setup-pyflink-virtual-env.sh no dispositivo local. O código abaixo mostra o conteúdo do script.

      X86

      set -e
      # Download the miniforge.sh script.
      wget "https://github.com/conda-forge/miniforge/releases/download/25.11.0-1/Miniforge3-25.11.0-1-Linux-x86_64.sh" -O "miniforge.sh"
      
      # Add execution permissions to the miniforge.sh script.
      chmod +x miniforge.sh
      
      # Install miniforge.
      ./miniforge.sh -b
      source /root/miniforge3/bin/activate
      
      # Create a Python virtual environment.
      mamba create -n venv python=3.10 -y
      eval "$(mamba shell hook --shell bash)"
      
      # Activate the Python virtual environment.
      mamba activate venv
      
      # Install the PyFlink dependency.
      pip install "ververica-flink==11.7.0"
      # For VVR 11.5 and earlier, no dedicated PyPI package is available. Install the open-source PyFlink instead:
      # pip install "apache-flink==1.20.3" "setuptools<81"
      
      # Remove unnecessary JAR files to reduce the package size.
      find /root/miniforge3/envs/venv/lib/python3.10/site-packages/pyflink/ -name *.jar | xargs rm
      
      # Deactivate the Conda Python virtual environment.
      mamba deactivate
      
      # Package the prepared Conda Python virtual environment.
      cd /root/miniforge3/envs/ && zip -r /root/venv.zip venv 

      ARM

      set -e
      # Download the miniforge.sh script.
      wget "https://github.com/conda-forge/miniforge/releases/download/25.11.0-1/Miniforge3-25.11.0-1-Linux-aarch64.sh" -O "miniforge.sh"
      
      # Add execution permissions to the miniforge.sh script.
      chmod +x miniforge.sh
      
      # Install miniforge.
      ./miniforge.sh -b
      source /root/miniforge3/bin/activate
      
      # Create a Python virtual environment.
      mamba create -n venv python=3.10 -y
      eval "$(mamba shell hook --shell bash)"
      
      # Activate the Python virtual environment.
      mamba activate venv
      
      # Install the PyFlink dependency.
      yum install -y java-11-openjdk-devel
      export JAVA_HOME=/usr/lib/jvm/java-11
      wget "https://raw.githubusercontent.com/apache/flink/release-1.20/flink-python/dev/dev-requirements.txt" -O dev-requirements.txt
      pip install -r dev-requirements.txt
      pip install "ververica-flink==11.7.0"
      # For VVR 11.5 and earlier, no dedicated PyPI package is available. Install the open-source PyFlink instead:
      # pip install "apache-flink==1.20.3" "setuptools<81"
      
      # Remove unnecessary JAR files to reduce the package size.
      find /root/miniforge3/envs/venv/lib/python3.10/site-packages/pyflink/ -name *.jar | xargs rm
      
      # Deactivate the Conda Python virtual environment.
      mamba deactivate
      
      # Package the prepared Conda Python virtual environment.
      cd /root/miniforge3/envs && zip -r /root/venv.zip venv
      Nota

      Neste tópico, a implantação usa o VVR 11.7 e executa em um ambiente virtual do Python 3.10. Para usar uma versão diferente do VVR ou instalar um ambiente virtual de outra versão do Python, modifique os seguintes parâmetros:

      • mamba create: altere para a versão desejada do Python.

      • pip install:

        • VVR 11.6 e posteriores: instale o ververica-flink e ajuste a versão para corresponder à versão do VVR da sua implantação.

        • VVR 11.5 e anteriores: instale o apache-flink e ajuste a versão para a versão do Flink correspondente ao VVR da sua implantação. Para mais detalhes sobre como verificar a versão do Flink, consulte Gerenciamento de armazenamento.

    2. Prepare o script build.sh no dispositivo local. O código abaixo mostra o conteúdo do script.

      #!/bin/bash
      set -e -x
      
      yum install -y zip wget
      
      cd /root/
      bash /build/setup-pyflink-virtual-env.sh
      mv venv.zip /build/
    3. Na CLI, execute o comando a seguir para instalar o ambiente virtual Python:

      X86

      docker run -it --rm -v $PWD:/build -w /build quay.io/pypa/manylinux_2_28_x86_64 bash ./build.sh

      ARM

      docker run -it --rm -v $PWD:/build -w /build quay.io/pypa/manylinux_2_28_aarch64 bash ./build.sh

      Após a execução do comando, o arquivo venv.zip é gerado. Neste exemplo, usa-se o ambiente virtual do Python 3.10.

      Também é possível modificar o script anterior para instalar o pacote Python de terceiros necessário no ambiente virtual.

  2. Use o ambiente virtual Python nas implantações Python.

    1. Faça login no console do Realtime Compute for Apache Flink.

    2. Na aba Fully Managed Flink, localize o workspace desejado e clique em Console na coluna Actions.

    3. No painel de navegação à esquerda, clique em Artifacts. Na página Artifacts, clique em Upload Artifact. Na caixa de diálogo exibida, selecione o pacote venv.zip.

    4. Na página O&M > Deployments, clique no nome do job desejado.

    5. Na aba Configuration, clique em Edit no canto superior direito da seção Basic e selecione o pacote venv.zip na lista suspensa Python Archives.

      Se a implantação for do tipo SQL e precisar usar funções definidas pelo usuário (UDFs) em Python, clique em Edit no canto superior direito da seção Parameters e adicione a seguinte configuração ao campo Other Configuration:

      python.archives: oss://.../venv.zip
    6. Na seção Parameters, adicione as informações de configuração do caminho para instalação do ambiente virtual Python especificado no campo Other Configuration, conforme a versão do VVR da sua implantação.

      • VVR 6.X ou posterior

        python.executable: venv.zip/venv/bin/python
        python.client.executable: venv.zip/venv/bin/python
      • Versão do motor anterior ao VVR 6.X

        python.executable: venv.zip/venv/bin/python

Usar um pacote Python de terceiros

Nota

Os recursos Zip Safe, PyPI e manylinux mencionados na descrição a seguir são fornecidos por sites de terceiros. Ao acessá-los, podem ocorrer falhas de conexão ou lentidão no carregamento.

Os dois cenários a seguir demonstram como usar um pacote Python de terceiros:

  • Uso de pacote Python de terceiros com importação direta

    Se o pacote Python de terceiros for um pacote Zip Safe, siga as etapas abaixo para usá-lo diretamente nas implantações Python, sem necessidade de instalação:

    1. Baixe um pacote Python de terceiros que permita importação direta.

      1. Acesse o PyPI pelo navegador.

      2. Insira o nome de um pacote Python de terceiros, como apache-flink 1.20.3, na caixa de pesquisa.

      3. Nos resultados da busca, clique no nome do pacote desejado.

      4. No painel de navegação à esquerda da página aberta, clique em Download files.

      5. Clique no nome do pacote que contenha cp39-cp39-manylinux1 para baixar o arquivo.

    2. Faça login no console do Realtime Compute for Apache Flink.

    3. Na aba Streaming Compute Flink, localize o workspace e clique em Console na coluna Actions.

    4. No painel de navegação à esquerda, clique em Artifacts. Na página Artifacts, clique em Upload Artifact. Na caixa de diálogo exibida, selecione o pacote Python de terceiros desejado.

    5. No painel de navegação à esquerda, clique em O&M > Deployments. Na página Deployments, clique em Create Deployment > Python Deployment. Na caixa de diálogo, em Python Libraries, selecione o pacote Python de terceiros enviado.

    6. Clique em Save.

  • Uso de pacote Python de terceiros que exige compilação

    Um pacote Python de terceiros precisa ser compilado antes do uso caso atenda às seguintes condições: o pacote é um arquivo compactado no formato tar.gz ou um pacote de origem baixado de outro local, e o arquivo setup.py existe no diretório raiz do pacote compactado. Compile o pacote Python de terceiros em um ambiente compatível com o Flink antes de chamá-lo em uma implantação Python.

    Recomendamos o uso do Python 3.9 na imagem quay.io/pypa/manylinux_2_28_x86_64 para compilar pacotes Python de terceiros. Os pacotes gerados por essa imagem são compatíveis com a maioria dos sistemas operacionais Linux. Para mais informações sobre a imagem, consulte manylinux.

    Nota

    O Python 3.9 está instalado no diretório /opt/python/cp39-cp39/bin/python3.

    O exemplo a seguir demonstra como compilar e usar o pacote Python de terceiros opencv-python-headless.

    1. Compile o pacote Python de terceiros.

      1. Prepare o arquivo requirements.txt no dispositivo local. O código abaixo mostra o conteúdo do arquivo:

        opencv-python-headless
        numpy<2
      2. Prepare o script build.sh no dispositivo local. O código abaixo mostra o conteúdo do script:

        #!/bin/bash
        set -e -x
        
        yum install -y zip
        
        #PYBIN=/opt/python/cp37-cp37m/bin
        #PYBIN=/opt/python/cp38-cp38/bin
        PYBIN=/opt/python/cp39-cp39/bin
        #PYBIN=/opt/python/cp310-cp310/bin
        #PYBIN=/opt/python/cp311-cp311/bin
        
        "${PYBIN}/pip" install --target __pypackages__ -r requirements.txt
        cd __pypackages__ && zip -r deps.zip . && mv deps.zip ../ && cd ..
        rm -rf __pypackages__
      3. Na CLI, execute o seguinte comando:

        X86

        docker run -it --rm -v $PWD:/build -w /build quay.io/pypa/manylinux_2_28_x86_64 bash ./build.sh

        ARM

        docker run -it --rm -v $PWD:/build -w /build quay.io/pypa/manylinux_2_28_aarch64 bash ./build.sh

        Após a execução do comando, o arquivo deps.zip é gerado. Esse arquivo corresponde ao pacote Python de terceiros compilado.

        Você também pode modificar o conteúdo do arquivo requirements.txt para instalar outros pacotes Python de terceiros necessários. Além disso, é possível especificar múltiplas dependências Python no arquivo requirements.txt.

    2. Use o pacote Python de terceiros deps.zip nas implantações Python.

      1. Faça login no console do Realtime Compute for Apache Flink.

      2. Localize o workspace e clique em Console na coluna Actions.

      3. No painel de navegação à esquerda, clique em Artifacts. Na página Artifacts, clique em Upload Artifact. Na caixa de diálogo, selecione o arquivo deps.zip.

      4. Na página O&M > Deployments, clique na sua implantação. Na aba Configuration, clique em Edit no canto superior direito da seção Basic e selecione o pacote deps.zip na lista suspensa Python Libraries.

    1. Clique em Save.

Usar um pacote JAR

Se você usar classes Java, como um conector ou uma UDF Java, em sua implantação Python, siga os procedimentos abaixo para especificar o pacote JAR do conector ou da UDF Java.

  1. Faça login no console do Realtime Compute for Apache Flink.

  2. Na aba Fully Managed Flink, localize o workspace desejado e clique em Console na coluna Actions.

  3. No painel de navegação à esquerda, clique em Artifacts. Na página Artifacts, clique em Upload Artifact. Na caixa de diálogo, selecione o pacote JAR desejado.

  4. Na página Deployments, clique no nome da implantação desejada. Na aba Configuration, clique em Edit no canto superior direito da seção Basic e selecione o pacote JAR necessário na lista suspensa Additional Dependencies.

  5. Na aba Configuration, clique em Edit no canto superior direito da seção Parameters e adicione a seguinte configuração ao campo Other Configuration.

    Por exemplo, se o rascunho depender de dois pacotes JAR chamados jar1.jar e jar2.jar, adicione as seguintes informações de configuração:

    pipeline.classpaths: 'file:///flink/usrlib/jar1.jar;file:///flink/usrlib/jar2.jar'
  6. Clique em Save.

Usar conectores, formatos de dados e catálogos integrados

Nota

Suportado apenas nas versões VVR 11.2+.

Para usar conectores, formatos de dados e catálogos integrados em programas Python, proceda da seguinte forma:

  1. Na página de detalhes da sua implantação Python, na seção Parameters, adicione as configurações ao campo Other Configuration.

    Adicione o parâmetro para uso de conectores integrados. A configuração a seguir especifica os conectores Kafka e SLS. Para nomes específicos de conectores, consulte os documentos em Conectores suportados.

    pipeline.used-builtin-connectors: kafka;sls

    Adicione o parâmetro para formatos de dados integrados. A configuração a seguir especifica os formatos avro e parquet. Para nomes específicos de formatos de dados, consulte Formatos de dados.

    pipeline.used-builtin-formats: avro;parquet

    Adicione o parâmetro para catálogos integrados. A configuração a seguir especifica os catálogos hive-2.3.6 e paimon. Para catálogos específicos, consulte Catálogos.

    pipeline.used-builtin-catalogs: hive-2.3.6;paimon
  2. Clique em Save.

Usar arquivos de dados

Nota

O Flink totalmente gerenciado não permite depurar implantações Python por meio do upload de arquivos de dados.

Os cenários a seguir demonstram como usar arquivos de dados:

  • Selecionar um pacote na lista suspensa Python Archives

    Se você tiver muitos arquivos de dados, compacte-os em um arquivo ZIP e siga as operações abaixo para usá-los em implantações Python:

    1. Faça login no console do Realtime Compute for Apache Flink.

    2. Localize o workspace e clique em Console na coluna Actions.

    3. No painel de navegação à esquerda, clique em Artifacts. Na página Artifact, clique em Upload Artifact. Na caixa de diálogo exibida, selecione o pacote ZIP do arquivo de dados desejado.

    4. Na página O&M > Deployments, clique no nome da sua implantação. Na aba Configuration, clique em Edit no canto superior direito da seção Basic e selecione o pacote ZIP necessário na lista suspensa Python Archives.

    5. Em UDFs Python, execute o comando a seguir para acessar um arquivo de dados. Neste exemplo, o nome do pacote que contém os arquivos de dados é mydata.zip.

      def map():
          with open("mydata.zip/mydata/data.txt") as f:
          ...
  • Selecionar um arquivo de dados na lista suspensa Additional Dependencies

    Se tiver poucos arquivos de dados, siga as operações abaixo para acessá-los em implantações Python:

    1. Faça login no console do Realtime Compute for Apache Flink.

    2. Localize o workspace e clique em Console na coluna Actions.

    3. No painel de navegação à esquerda, clique em Artifacts. Na página Artifact, clique em Upload Artifact. Na caixa de diálogo exibida, selecione o arquivo de dados desejado.

    4. Na página O&M > Deployments, clique no nome da implantação desejada. Na aba Configuration, clique em Edit no canto superior direito da seção Basic e selecione o arquivo de dados necessário na lista suspensa Additional Dependencies.

    5. Em UDFs Python, execute o comando a seguir para acessar um arquivo de dados. Neste exemplo, o arquivo de dados chama-se data.txt.

      def map():
          with open("/flink/usrlib/data.txt") as f:
          ...

Referências