作业开发——以 Spark SQL为例

最近更新时间:2021-03-23 10:46:27

查看PDF

离线开发过程中用户在代码编辑框中,输入需要执行的代码。在代码中可以进行数据库操作。不同插件能够操作的数据源类型不同,具体区别看每种类型的插件说明。
在选择数据源时需要确认已经在数据管理中进行授权,只能在数据管理中授权的数据源链接才能进行连接。

1.Spark SQL插件可连接平台默认HIVE数据源-defaultHive进行数据源操作。
选择【Spark SQL】插件,拖拽到开发面板中,生成Spark SQL作业节点。
2.双击节点进入Spark SQL作业编辑界面。输入需要执行的脚本。

insert into table ren1102db.rentb001 VALUES(0,"zhangsan","19"),(3,"zhaoliu","80");
insert into table kctest01.kctest_tb2 VALUES(1,"lisi","20");
insert into table kctest01.kctest_tb2 VALUES(2,"wangwu","31");
insert overwrite table kctest.kctest_tb1
   (select
        table1.a1,
        table1.a2,
        myToUpper(table1.a3) 
     from  kctest01.kctest_tb2 table1 
     where table1.a1 >= ${num1})
   union all
   (select
         table2.a1,
         table2.a2,
         myToUpper(table2.a3)
    from
        kctest01.kctest_tb2 table2
    where 
        table2.a2 <= ${num2});

image.png
3.输入脚本后点击【保存】按钮,保存当前开发作业内容。点击【资源配置】显示数据源连接信息和执行资源。连接信息选择脚本中使用到的库表,针对HIVE类型直接使用defaultHIVE数据源。执行资源分为两类:YARN类和容器类。针对大数据任务默认为YARN类,选择一个资源队列,每个资源队列有一个CU数,大数据类默认设置为3。用户可根据自己的实际需求,点击【调整资源数】,进行资源队列调整。
image.png
4.脚本中使用了${num1}和${num2}两个变量值,需要在参数设置中进行变量赋值。
image.png
5.针对单次手动运行任务无需设置调度配置,如进行周期性运行可在【调度配置】中设置运行频度、优先级、失败重试等周期调度相关设置。
此处将优先级设置为3,频度为每一天都运行,失败进行重试。
如果任务无外部依赖情况则不需要设置外部依赖。作业流内的依赖直接在画布中以连线的方式体现。不体现在【调度配置】中,当前作业设置即为无任何外部依赖信息。
image.png
6.针对作业运行状况监控可是设置【告警设置】,目前告警设置分为任务失败和运行时间延时告警。
为当前作业设置了失败和延时告警,开始时间延时量,即当作业开始执行10分钟扔未结束是,即判断作业运行失败,发出告警。
告警级别设置为【通知】级别。在短信通知时进行显示【通知】字样。下拉选择告警人列表就会将当前的告警信息通知到列表里面的人。
image.png
7.当前脚本中使用了myToupper()函数,此函数为用户自定义函数,用户需要在函数配置中进行引用。任务运行时每次会根据引用的函数资源生成临时UDF。
8.设置号作业的相关配置后,点击【运行】,会弹出【业务日期】和【批次号】的选择,选择底层业务日期和批次数据。
image.png
9.选择相应的日期后,点击【确定】,作业开始执行,可以在日志中查看运行日志。

注意:Spark SQL中使用的库表需具有该项目的权限。如该项目权限不足,可参考【数据管理】【权限申请】,进行需要的库表权限申请。

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

  • 内容不全,不深入
  • 内容更新不及时
  • 描述不清晰,比较混乱
  • 系统或功能太复杂,缺乏足够的引导
  • 内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈