什么是 DataProcSparkOperator?

What is DataProcSparkOperator?

DataProcSparkOperator 本质上是什么?我找到了很多使用它的信息和代码片段,但是,我仍然找不到它的可靠定义。

我认为您所说的是用于将 Spark 作业提交到 Dataproc 集群的 Apache Airflow 运算符。检查 Airflow doc, this introductory article, this example code.

Dataproc 是一项托管的 Apache Spark 和 Apache Hadoop 服务,可让您利用开源数据工具进行批处理、查询、流式处理和机器学习。 Dataproc 自动化可帮助您快速创建集群、轻松管理它们,并通过在不需要时关闭集群来节省资金。你可以在这个 documentation.

中看到更多

您可以查看有关不同 DataProc 运算符的更多文档here

Airflow 提供 DataProcSparkOperator 来将作业提交到您的数据处理集群。

示例如下:

submit_job = DataProcSparkOperator(
task_id='submit_job',
dataproc_spark_jars=['{{var.value.spark_bq_jar}}'],
main_class='LoadData',
arguments=[
"job_name==currency",
"data_type=={{params.thirty_raw_folder_prefix}}",
"input_path==gs://input-bucket/input-folder",
"output_path==gs://staging-bucket/staging_folder",
"week=={{dag_run.conf['week']}}",
"year=={{dag_run.conf['year']}}",
"genres=={{dag_run.conf['genres']}}"
],
files=['gs://bucket/folder/properties/loaddata.properties'],
cluster_name='{{params.cluster_name}}',
dag=dag
)

此处,spark_bq_jar 变量包含您的 spark jar 的位置。并且提供了所有参数来告诉 jar 运行 哪个作业。 您可以在 link.

中查看更多示例