Flink Stream Batch Computación integrada (9): Flink Python

Tabla de contenido

Usar dependencias de Python

Use un entorno virtual de Python personalizado

Método 1: crear un entorno virtual de Python en un nodo del clúster

Método 2: Cree un entorno virtual de Python en la máquina de desarrollo local

Usar paquete JAR

usar archivo de datos


Usar dependencias de Python

Permíteme presentarte cómo usar las dependencias de Python a través de los siguientes escenarios:

  • Use un entorno virtual de Python personalizado
  • Usar paquetes de Python de terceros
  • Usar paquete JAR
  • usar archivo de datos

Use un entorno virtual de Python personalizado

Método 1: crear un entorno virtual de Python en un nodo del clúster

set -e

# Crear un entorno virtual para Python .

python3.6 -m venv venv

#Activar el entorno virtual de Python .

source venv/bin/activate

# Preparar el entorno virtual de Python.

pip install --upgrade pip

#Instalar las dependencias de PyFlink .

pip install "apache-flink==1.13.0"

#Salir del entorno virtual de Python .

deactivate

Después de ejecutar el comando, se generará un directorio llamado venv, que es el entorno virtual de Python 3.6. También puede modificar el script anterior para instalar otras versiones del entorno virtual de Python.

Para utilizar el entorno virtual de Python, puede optar por distribuir el entorno virtual de Python a todos los nodos del clúster, o puede especificar el uso del entorno virtual de Python al enviar un trabajo de PyFlink.

Los siguientes comandos muestran diferentes casos de uso de envío de trabajos de PyFlink :

  • Ejecutar trabajo de PyFlink:
$ ./bin/flink run --python examples/python/table/batch/word_count.py
  • Ejecute un trabajo de PyFlink con pyFiles y el módulo de entrada principal especificado en --pyModule:
./bin/flink run \
--pyModule batch.word_count \
--pyFiles examples/python/table/batch
  • Envíe un trabajo de PyFlink en un JobManager que se ejecuta en un host específico <jobmanagerHost> (ajuste el comando según corresponda):
$ ./bin/flink run \
 --jobmanager <jobmanagerHost>:8081 \
 --python examples/python/table/batch/word_count.py
  • Ejecute el trabajo de PyFlink en el modo Por trabajo en el grupo de hilos:
$ ./bin/flink run \
--target yarn-per-job
--python examples/python/table/batch/word_count.py

Método 2: Cree un entorno virtual de Python en la máquina de desarrollo local

set -e

#Descargue el script Python 3.7 miniconda.sh .

wget "https://repo.continuum.io/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh" -O "miniconda.sh"

# Agregar permiso de ejecución para el script Python 3.7 miniconda.sh .

chmod +x miniconda.sh

# Crear un entorno virtual para Python .

./miniconda.sh -b -p venv

# Activar el entorno virtual Conda Python .

source venv/bin/activate ""

# Instale las dependencias de PyFlink .

pip install "apache-flink==1.13.0"

# Salga del entorno virtual Conda Python .

conda deactivate

# Eliminar paquetes almacenados en caché.

rm -rf venv/pkgs

# Empaquetar el entorno virtual Conda Python preparado.

zip -r venv.zip venv

Después de ejecutar el comando, se generará un archivo llamado venv.zip, que es el entorno virtual de Python 3.7. También puede modificar la secuencia de comandos anterior para instalar una versión diferente del entorno virtual de Python o instalar el paquete de Python de terceros necesario en el entorno virtual.

Usar paquete JAR

Si se utilizan clases de Java en su trabajo de Flink Python, por ejemplo, cuando se utilizan funciones personalizadas de Connector o Java en el trabajo, debe especificar el paquete JAR donde se encuentran las funciones personalizadas de Connector o Java.

Trabajos de PyFlink que hacen referencia a UDF de Java o conectores externos. El archivo JAR especificado en --jarfile se cargará en el clúster.

$ ./bin/flink run \
--python examples/python/table/batch/word_count.py \
--jarfile <jarFile>

usar archivo de datos

Si necesita acceder a archivos de datos, como archivos de modelo, en su trabajo de Flink Python, puede acceder a ellos a través de Python Archives .

  • Ejecute el trabajo de PyFlink, agregue archivos fuente y de recursos, los archivos especificados en --pyFiles se agregarán a PYTHONPATH, para que estén disponibles en el código de Python.
$ ./bin/flink run \
--python examples/python/table/batch/word_count.py \
--pyFiles file:///user.txt,hdfs:///$namenode_address/username.txt
 

Supongo que te gusta

Origin blog.csdn.net/victory0508/article/details/131452205
Recomendado
Clasificación