本文介绍Streaming SQL作业配置的操作步骤。

背景信息

Streaming SQL的详细信息请参见Spark Streaming SQL

在Streaming SQL作业配置过程中,您需要设置依赖库。以下列出了Spark Streaming SQL提供的数据源依赖包的版本信息和使用说明,建议使用最新版本。

库名称 版本 发布日期 引用字符串 详细信息
datasources-bundle 2.0.0(推荐) 2020/02/26 sharedlibs:streamingsql:datasources-bundle:2.0.0 支持数据源:Kafka、Loghub、Druid、TableStore、HBase、JDBC、DataHub、Redis、Kudu和DTS。
1.9.0 2019/11/20 sharedlibs:streamingsql:datasources-bundle:1.9.0 支持数据源:Kafka、Loghub、Druid、TableStore、HBase、JDBC、DataHub、Redis和Kudu。
1.8.0 2019/10/17 sharedlibs:streamingsql:datasources-bundle:1.8.0 支持数据源:Kafka、Loghub、Druid、TableStore、HBase、JDBC、DataHub和Redis。
1.7.0 2019/07/29 sharedlibs:streamingsql:datasources-bundle:1.7.0 支持数据源:Kafka、Loghub、Druid、TableStore、HBase和JDBC。

如果需要了解更详细的使用方法,请参见数据源

前提条件

  • 已创建项目,详情请参见项目管理
  • 已获取作业所需的资源和数据文件。例如,JAR包、数据文件名称以及两者的保存路径。

操作步骤

  1. 进入数据开发的项目列表页面。
    1. 通过阿里云账号登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 单击待编辑项目所在行的作业编辑
  3. 新建Streaming SQL类型作业。
    1. 在页面左侧,在需要操作的文件夹上单击右键,选择新建作业
    2. 新建作业对话框中,输入作业名称作业描述,从作业类型下拉列表中选择Streaming SQL作业类型。
    3. 单击确定
  4. 编辑作业内容。
    作业内容中,填写提交该作业需要提供的命令行参数。示例如下。
    --- 创建SLS数据表。 
    CREATE TABLE IF NOT EXISTS ${slsTableName} 
       USING loghub 
       OPTIONS ( 
            sls.project = '${logProjectName}', 
            sls.store = '${logStoreName}', 
            access.key.id = '${accessKeyId}', 
            access.key.secret = '${accessKeySecret}', 
            endpoint = '${endpoint}'
       ); 
    --- 导入数据至HDFS。
    INSERT INTO 
        ${hdfsTableName} 
    SELECT 
        col1, col2 
    FROM  ${slsTableName} 
    WHERE ${condition}
    说明 此类型的作业是通过streaming-sql -f {sql_script}提交的。sql_script中保存着作业编辑器中填写的SQL语句。
  5. 配置依赖库和失败策略。
    1. 单击右上方的作业设置
    2. 分别在共享库流任务设置页签下,配置依赖库和失败处理策略。
      区域 配置项 说明
      依赖库 库列表 执行作业需要依赖一些数据源相关的库文件。E-MapReduce将这些库以依赖库的形式发布在调度服务的仓库中,在创建作业时需要指定使用哪个版本的依赖库。

      您只需设置相应的依赖库版本,例如sharedlibs:streamingsql:datasources-bundle:2.0.0

      失败处理策略 当前语句执行失败时 当前语句执行失败时,支持如下策略:
      • 继续执行下一条语句:如果查询语句执行失败, 继续执行下一条语句。
      • 终止当前作业:如果查询语句执行失败, 终止当前作业。
    3. 单击保存,完成作业内容及相关配置。