Что такое DataProcSparkOperator?

# #apache-spark #google-cloud-platform #apache-spark-sql #google-cloud-dataproc

Вопрос:

Что такое, по сути, DataProcSparkOperator? Я нашел много информации и фрагментов кода, использующих его, однако я все еще не могу найти для него четкого определения.

Комментарии:

1. Помог ли вам ответ?

2. Извините, я не видел этого комментария раньше! Это помогло мне, большое спасибо!

Ответ №1:

Я думаю, что вы говорите об операторе Apache Airflow для отправки задания Spark в кластер Dataproc. Проверьте документ Airflow, эту вводную статью, этот пример кода.

Ответ №2:

Dataproc — это управляемый сервис Apache Spark и Apache Hadoop, который позволяет вам использовать инструменты обработки данных с открытым исходным кодом для пакетной обработки, запросов, потоковой передачи и машинного обучения. Автоматизация Dataproc помогает быстро создавать кластеры, легко управлять ими и экономить деньги, отключая кластеры, когда они вам не нужны. Вы можете увидеть больше в этой документации.

Вы можете увидеть больше документации о различных операторах обработки данных здесь.

Airflow предоставляет DataProcSparkOperator для отправки заданий в ваш кластер dataproc.

Вот пример:

 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. И все аргументы предоставляются, чтобы указать банку, какое задание запускать.
Вы можете увидеть больше примеров по этой ссылке.