Devo attivare un pyspark modulo dal flusso d'aria utilizzando un sparksubmit operatore. Ma, il pyspark modulo necessario per scattare la scintilla della variabile di sessione come argomento. Ho usato application_args di passare il parametro alla pyspark modulo. Ma, quando ho eseguito il dag la scintilla presentare operatore è sempre fallito e il parametro che ho passato considerato come Nessuno tipo di variabile. Bisogno di sapere come passare da un argomento ad un pyspark modulo attivato attraverso spark_submit_operator.
Il DAG codice è riportato di seguito:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("PRJT").enableHiveSupport().getOrCreate()
spark_config = {
'conn_id': 'spark_default',
'driver_memory': '1g',
'executor_cores': 1,
'num_executors': 1,
'executor_memory': '1g'
}
dag = DAG(
dag_id="spark_session_prgm",
default_args=default_args,
schedule_interval='@daily',
catchup=False)
spark_submit_task1 = SparkSubmitOperator(
task_id='spark_submit_task1',
application='/home/airflow_home/dags/tmp_spark_1.py',
application_args=['spark'],
**spark_config, dag=dag)
Il codice di esempio in tmp_spark_1.py programma: