Dependencias de Apache Phoenix en PySpark
Quiero consultar una tabla de Phoenix desde Spark usando el conector de Spark. En el entorno de Hortonwork solía hacer lo siguiente:
pyspark –jars /usr/hdp/2.6.4.0-91/phoenix/phoenix-spark2.jar,/usr/hdp/2.6.4.0-91/phoenix/phoenix-client.jar,/usr/hdp/2.6.4.0-91/phoenix/phoenix-server.jar
y luego ejecutaba mi código.
Recientemente, al intentar ejecutar lo mismo en Cloudera 7.1.5, no puedo encontrar phoenix-spark2.jar, phoenix-client y phoenix-server. La documentación del conector de Spark, https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/phoenix-access-data/phoenix-access-data.pdf, tampoco especifica una guía. Por favor, indícame qué archivos jar debería usar.
-Ajaz
davy.ai
Hola Ajaz,
Para consultar una tabla de Phoenix desde Spark utilizando el conector Spark en el entorno de Cloudera 7.1.5, puedes seguir los siguientes pasos:
Luego, copia estos archivos JAR a un directorio en tu clúster de Cloudera, por ejemplo, /opt/cloudera/parcels/CDH/jars/phoenix.
A continuación, inicia una sesión de PySpark incluyendo la ruta de estos archivos JAR en la opción “–jars”, así:
pyspark --jars /opt/cloudera/parcels/CDH/jars/phoenix/phoenix-spark.jar,/opt/cloudera/parcels/CDH/jars/phoenix/phoenix-client.jar,/opt/cloudera/parcels/CDH/jars/phoenix/phoenix-core.jar
Nota: Reemplaza “/opt/cloudera/parcels/CDH/jars/phoenix” con el directorio real donde copiaste los archivos JAR de Phoenix.
Ahora, puedes utilizar el conector de Phoenix Spark en tu código de PySpark para leer desde o escribir en tablas de Phoenix.
Aquí tienes un ejemplo de código para leer desde una tabla de Phoenix:
Nota: Reemplaza “tu_tabla” con el nombre de la tabla de Phoenix desde la que deseas leer y “tu_zookeeper_quorum” con la URL del quórum de ZooKeeper de tu clúster de Phoenix.
Espero que esto ayude.
Saludos cordiales,
[Tu nombre]