将包裹从气流传递到在dataproc上运行的pyspark?

时间:2017-11-14 15:35:49

标签: pyspark airflow google-cloud-dataproc

我们有一个Airflow DAG,涉及在Dataproc上运行pyspark作业。我们在作业期间需要一个jdbc驱动程序,我通常会将其传递给dataproc submit命令:

gcloud dataproc jobs submit pyspark \
--cluster my-cluster \
--properties spark.jars.packages=mysql:mysql-connector-java:6.0.6 \
--py-files ...

但是我如何使用Airflow的DataProcPySparkOperator进行操作?

现在我们将这个库添加到集群本身:

gcloud dataproc clusters create my-cluster \
  --region global \
  --zone europe-west1-d \
  ...
  --properties spark:spark.jars.packages=mysql:mysql-connector-java:6.0.6 \
  ...

这似乎工作正常,但感觉不是正确的方法。还有另一种方式吗?

1 个答案:

答案 0 :(得分:1)

我相信你想将dataproc_pyspark_properties传递给DataProcPySparkOperator

请参阅: https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/operators/dataproc_operator.py