全部产品
云市场

作业管理

更新时间:2019-09-30 15:51:57

作业管理支持通过spark-submit脚本、spark SQL方式编写scala&python&java作业及SQL,提交集群运行、结果展示等功能;同时可以添加到工作流做周期定时调度。
入口:https://hbase.console.aliyun.com/hbase/cn-shanghai/workspace/job作业列表

创建作业

创建作业时,需要先选择一个可运行的集群。作业类型可以为“SparkJob”、“SparkSQL”
创建作业

作业内容编写

SparkJob

spark作业内容就是spark-submit的命令行参数,由于平台和运行环境特性,spark作业支持的命令行参数是官方spark-submit的一个子集,不需要配置—master参数,具体格式和支持参数如下:

  • 格式
    1. [Options] <app jar | python file | R file> [app arguments]
  • 参数
Options (参数) 说明
—class CLASS_NAME Your application’s main class (for Java / Scala apps).
—jars JARS Comma-separated list of jars to include on the driver and executor classpaths.
—py-files PY_FILES Comma-separated list of .zip, .egg, or .py files to place on the PYTHONPATH for Python apps.
—files FILES Comma-separated list of files to be placed in the working directory of each executor. File paths of these files in executors can be accessed via SparkFiles.get(fileName).
—driver-memory MEM Memory for driver (e.g. 1000M, 2G) (Default: 1024M).
—driver-cores NUM Number of cores used by the driver, only in cluster mode (Default: 1).
—executor-cores NUM Number of cores per executor. (Default: 1).
—executor-memory MEM Memory per executor (e.g. 1000M, 2G) (Default: 1G).
—num-executors NUM Number of executors to launch (Default: 2).
—name NAME A name of your application.
—conf PROP=VALUE Arbitrary Spark configuration property.

例子:一个简单的java pi demo:

  1. --class org.apache.spark.examples.SparkPi
  2. --driver-memory 2G
  3. --driver-cores 1
  4. --executor-memory 2G
  5. --executor-cores 2
  6. --num-executors 1
  7. --name pi
  8. /examples_2.11-2.3.2.jar
  9. 10000

SparkSQL

  • 场景:在交互式查询调试好的SQL,如果需要上生产做周期调度可以添加到“SparkSQL”类型作业,然后在工作流里面配置周期定时调度。
  • 注意:“SparkSQL”类型作业不支持sql结果展示,因为生产的周期调度SQL输出一般都是Spark的表,或者Cassandra、hbase、mongo、RDS等其他外表存储。
  • 例子:这里“spark_mysql_table”是一张spark关联的mysql的表,这条sql可以每天周期的把mysql的数据归档存储到spark的数仓表”spark_warehouse_table”,同时每天的数据放在不同的分区中存储tupian

作业参数设置

  • 场景:为了方便调试以及作业的复用、周期调度,会需要在作业内容编辑通用变量,变量的值可以手动设置、或者根据调度的时间来自动生成。
  • 普通参数:比如在作业设置的“自定义参数”中设置对应的参数名”pi_args”和value参数这只然后在作业配置中就可以使用${pi_args}来配置参数图片注意:参数的值也可以在工作流里面设置
  • 自动时间参数:现支持的日期格式为4种
    1. yyyyMMdd -> ${yyyyMMdd}或${yyyyMMdd+n}或${yyyyMMdd-n}
    2. yyyy-MM-dd -> ${yyyy-MM-dd}或${yyyy-MM-dd+n}或${yyyy-MM-dd-n}
    3. yyyy/MM/dd -> ${yyyy/MM/dd}或${yyyy/MM/dd+n}或${yyyy/MM/dd-n}
    4. timestamp -> ${timestamp}或${timestamp+n}或${timestamp-n}
    5. +n为增加n天,-n为减少n n只支持正整数
    比如:下面作业传入${yyyyMMdd+2} 参数在实际运行的时候会被替换为“20191002”timespark

运行作业

点击运行时,如果当前region有多个集群,还可以再选择其它集群运行。
运行作业

运行状态查看

  • 可以点击刷新按钮,来实时刷新作业的运行结果列表。
  • 点击“日志”可以查看作业的运行信息,特别是当提交作业失败时,可以方便定位问题。
  • 当作业成功提交到后端开始运行后,也可以点击“Spark UI”进入Spark UI页面来查看作业运行详情。具体如何使用账号密码访问UI页面,可以查看通用的帮助文档:https://help.aliyun.com/document_detail/50510.html

作业实例列表

  • 点击“详情”,可以查看该作业提交时的命令行参数。

作业实例详情

  • 当任务在启动或运行过程中,可以点击“停止”来直接停止作业。

停止作业