Airflow 是否支持 jar 文件?
Does Airflow support jar file?
我是 Airflow 的新手。我有一些用 Talend Open Studio for Big Data 生成的 .jar 作业,我想用 Airflow 安排和管理这些作业我的问题是,Airflow 是否支持 .jar 文件或由 TOS 生成作为 DAG ?
如果它如何?
或者 Airlow 上是否有 运行.jar 的替代方案?
我使用 Airflow v1.10.3
这些工作主要是从 mongodb 数据库中提取和处理数据,然后用新处理的数据更新数据库。
谢谢!
Airflow 会愉快地 运行 .jar
文件。有几个例子可以让你看看。
运行 标准 .jar
文件:run_jar.py
运行一个"built" Talend jobl loan_application_data.py
显然,对于这两个示例,.jar
或 Talend 文件都需要位于 Airflow 正在执行的服务器上(以及 Java)。
Airflow 确实支持 运行 jar 文件。您可以通过 BashOperator
执行此操作。
快速示例:
from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime
import os
import sys
args = {
'owner': 'you',
'start_date': datetime(2019, 4, 24),
'provide_context': True
}
dag = DAG(
task_id = 'runjar',
schedule_interval = None, #manually triggered
default_args = args)
run_jar_task= BashOperator(
task_id = 'runjar',
dag = dag,
bash_command = 'java -cp /path/to/your/jar.jar param1 param2'
)
我是 Airflow 的新手。我有一些用 Talend Open Studio for Big Data 生成的 .jar 作业,我想用 Airflow 安排和管理这些作业我的问题是,Airflow 是否支持 .jar 文件或由 TOS 生成作为 DAG ? 如果它如何? 或者 Airlow 上是否有 运行.jar 的替代方案?
我使用 Airflow v1.10.3 这些工作主要是从 mongodb 数据库中提取和处理数据,然后用新处理的数据更新数据库。
谢谢!
Airflow 会愉快地 运行 .jar
文件。有几个例子可以让你看看。
运行 标准 .jar
文件:run_jar.py
运行一个"built" Talend jobl loan_application_data.py
显然,对于这两个示例,.jar
或 Talend 文件都需要位于 Airflow 正在执行的服务器上(以及 Java)。
Airflow 确实支持 运行 jar 文件。您可以通过 BashOperator
执行此操作。
快速示例:
from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime
import os
import sys
args = {
'owner': 'you',
'start_date': datetime(2019, 4, 24),
'provide_context': True
}
dag = DAG(
task_id = 'runjar',
schedule_interval = None, #manually triggered
default_args = args)
run_jar_task= BashOperator(
task_id = 'runjar',
dag = dag,
bash_command = 'java -cp /path/to/your/jar.jar param1 param2'
)