黑马Hive+Spark离线数仓工业项目-任务流调度工具AirFlow(2)

本文介绍了在大数据项目中使用AirFlow进行任务调度的方法,包括Oracle与MySQL的调度、大数据组件如Hive与Spark的调度,以及AirFlow的定时调度、常用命令和邮件告警设置。此外,文章还探讨了一站制造中的调度流程,并讲解了Spark的核心概念,如分布式计算和Spark程序结构。最后,提供了AirFlow的安装与验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle与MySQL调度方法

目标:了解Oracle与MySQL的调度方法

实施

Oracle调度:参考《oracle任务调度详细操作文档.md》

    - step1:本地安装Oracle客户端

    - step2:安装AirFlow集成Oracle库

    - step3:创建Oracle连接

    - step4:开发测试

query_oracle_task = OracleOperator(
          task_id = 'oracle_operator_task',
          sql = 'select * from ciss4.ciss_base_areas',
          oracle_conn_id = 'oracle-airflow-connection',
          autocommit = True,
          dag=dag
      )

 MySQL调度:《MySQL任务调度详细操作文档.md》

    - step1:本地安装MySQL客户端

    - step2:安装AirFlow集成MySQL库

    - step3:创建MySQL连接

    - step4:开发测试

      - 方式一:指定SQL语句

 query_table_mysql_task = MySqlOperator(
            task_id='query_table_mysql', 
            mysql_conn_id='mysql_airflow_connection', 
            sql=r"""select * from test.test_airflow_mysql_task;""",
            dag=dag
        )

      - 方式二:指定SQL文件

 

  query_table_mysql_task = MySqlOperator(
            task_id='query_table_mysql_second', 
            mysql_conn_id='mysql-airflow-connection', 
            sql='test_airflow_mysql_task.sql',
            dag=dag
        )

      - 方式三:指定变量

   insert_sql = r"""
        INSERT INTO `test`.`test_airflow_mysql_task`(`task_name`) VALUES ( 'test airflow mysql task3');
        INSERT INTO `test`.`test_airflow_mysql_task`(`task_name`) VALUES ( 'test airflow mysql task4');
        INSERT INTO `test`.`test_airflow_mysql_task`(`task_name`) VALUES ( 'test airflow mysql task5');
        """
        
        insert_table_mysql_task = MySqlOperator(
            task_id='mysql_operator_insert_task', 
            mysql_conn_id='mysql-airflow-connection', 
            sql=insert_sql,
            dag=dag
        )

大数据组件调度方法

目标:了解大数据组件调度方法

实施

 AirFlow支持的类型

    - HiveOperator
    - PrestoOperator
    - SparkSqlOperator

  需求:Sqoop、MR、Hive、Spark、Flink

  解决:统一使用BashOperator或者PythonOperator,将对应程序封装在脚本中

    - Sqoop

  run_sqoop_task = BashOperator(
          task_id='sqoop_task',
          bash_command='sqoop --options-file xxxx.sqoop',
          dag=dag,
      )

    - Hive

    run_hive_task = BashOperator(
          task_id='hive_task',
          bash_command='hive -f xxxx.sql',
          dag
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值