Apache Airflow 和 AWS Glue 之间的连接问题
Trouble with connection between Apache Airflow and AWS Glue
我在我的虚拟机 Apache Airflow 上本地启动,我想连接到 Amazon Glue 作业以 运行 它们。
我从拉取请求中获得的源代码:https://github.com/apache/incubator-airflow/pull/3504/files
那么我应该为 运行 Amazon Glue 作业建立什么连接(在 Airflow UI 中)?你能告诉我一些文件吗?因为我在官方文档中没有找到任何有用的东西。
对于 dag 我使用简单的代码:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.aws_glue_operator import AWSGlueJobOperator
def print_hello():
return 'Hello hello!'
dag = DAG('hello_world', description='Simple glue DAG',
schedule_interval='0 0 * * *',
start_date=datetime(2018, 6, 28), catchup=False)
awsGlueOperator = AWSGlueJobOperator(job_name='FIRST_JOB', script_location='https://s3.us-east-2.amazonaws.com/path-to-script',s3_bucket='https://s3.console.aws.amazon.com/s3/', iam_role_name='AWSGlueServiceRole', dag=dag)
hello_operator = PythonOperator(task_id='hello_task', python_callable=print_hello, dag=dag)
awsGlueOperator >> hello_operator
提前谢谢你。
您使用的 GlueOperator 似乎使用了 AWS Hook. Jumping into the source code for that shows that aws keys and such can go in the extras field as a JSON object。
所以你可以只使用 Amazon Web Services
连接类型并在那里填写适当的值。
这是它的样子(在 UI 中修改了颜色和字体):
我在我的虚拟机 Apache Airflow 上本地启动,我想连接到 Amazon Glue 作业以 运行 它们。 我从拉取请求中获得的源代码:https://github.com/apache/incubator-airflow/pull/3504/files
那么我应该为 运行 Amazon Glue 作业建立什么连接(在 Airflow UI 中)?你能告诉我一些文件吗?因为我在官方文档中没有找到任何有用的东西。
对于 dag 我使用简单的代码:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.aws_glue_operator import AWSGlueJobOperator
def print_hello():
return 'Hello hello!'
dag = DAG('hello_world', description='Simple glue DAG',
schedule_interval='0 0 * * *',
start_date=datetime(2018, 6, 28), catchup=False)
awsGlueOperator = AWSGlueJobOperator(job_name='FIRST_JOB', script_location='https://s3.us-east-2.amazonaws.com/path-to-script',s3_bucket='https://s3.console.aws.amazon.com/s3/', iam_role_name='AWSGlueServiceRole', dag=dag)
hello_operator = PythonOperator(task_id='hello_task', python_callable=print_hello, dag=dag)
awsGlueOperator >> hello_operator
提前谢谢你。
您使用的 GlueOperator 似乎使用了 AWS Hook. Jumping into the source code for that shows that aws keys and such can go in the extras field as a JSON object。
所以你可以只使用 Amazon Web Services
连接类型并在那里填写适当的值。
这是它的样子(在 UI 中修改了颜色和字体):