Airflow 自动生成spark_默认连接id的方法是什么
我想为spark\u默认值生成conn\u id。我正在Airflow 自动生成spark_默认连接id的方法是什么,airflow,Airflow,我想为spark\u默认值生成conn\u id。我正在k8s上运行我的aiffair,我想使用spark master动态生成conn_id,spark master是在同一命名空间中运行的另一个容器 有没有办法动态生成conn_id:类似于: 环境变量 或者使用SparkSubmitOperator本身编写并生成conn\u id 这是我的dag代码: from airflow import DAG from airflow.contrib.operators.spark_submit
k8s
上运行我的aiffair
,我想使用spark master动态生成conn_id
,spark master是在同一命名空间中运行的另一个容器
有没有办法动态生成conn_id:类似于:
- 环境变量
- 或者使用
本身编写并生成SparkSubmitOperator
conn\u id
from airflow import DAG
from airflow.contrib.operators.spark_submit_operator import SparkSubmitOperator
from datetime import datetime, timedelta
args = {
'owner': 'airflow',
'start_date': datetime(2019, 5, 22)
}
dag = DAG('spark_example_new', default_args=args, schedule_interval="*/10 * * * *")
operator = SparkSubmitOperator(
task_id='spark_submit_job_from_airflow',
conn_id='spark_default',
java_class='org.apache.spark.examples.JavaWordCount',
application='local:///opt/spark/examples/jars/spark-examples_2.12-2.4.1.jar',
total_executor_cores='1',
executor_cores='2',
executor_memory='2g',
num_executors='1',
name='airflow-spark-example-coming-from-aws-k8s',
verbose=True,
driver_memory='1g',
application_args=["/opt/spark/data/graphx/users.txt"],
dag=dag,
)
你可以试试复习
from airflow.models import Connection
from airflow import settings
def create_conn(username, password, host=None):
new_conn = Connection(conn_id=f'{username}_connection',
login=username,
host=host if host else None)
new_conn.set_password(password)
session = settings.Session()
session.add(new_conn)
session.commit()