临时查询是adhoc即席查询的场景,支持Shell、SparkSQL、Spark Shell和HiveSQL四种类型,临时查询针对数据科学家和数据分析师,主要使用工具为SQL。

操作步骤

  1. 新建作业。
    1. 通过主账号登录阿里云 E-MapReduce 控制台
    2. 单击上方的数据开发页签。
    3. 项目列表页面,单击对应项目所在行的作业编辑
    4. 作业编辑页面,单击页面左侧的search_temp
    5. 临时查询页面左侧,右键单击待操作的文件夹,选择新建作业
    6. 新建交互式作业对话框中,输入作业名称作业描述,选择作业类型
      注意 创建作业时作业类型一经确定,不能修改。
    7. 单击确定
      您还可以通过在文件夹上单击右键,进行新建子文件夹、重命名文件夹和删除文件夹操作。
  2. 设置作业。
    1. 单击页面右上角的作业设置
    2. 作业设置页面,设置基础信息。
      参数 描述
      作业概要
      • 失败重试次数:设置在工作流运行到该作业失败时,最大支持重试的次数。
        说明 如果直接在作业页面运行作业,该选项不会生效。
      • 失败策略:设置在工作流运行到该作业失败时,是继续执行下一个工作流节点还是暂停当前工作流。
      • 作业描述:可修改作业的描述。
      运行资源 单击右侧的加号,添加作业执行所依赖的jar包或UDF等资源。您需要将资源先上传至OSS,然后在运行资源中直接添加即可。
      配置参数 指定作业代码中所引用的变量的值。您可以在代码中引用变量,格式为${变量名}
      单击右侧的加号图标,添加Key和Value。其中,Key为变量名,Value为变量的值。另外,您还可以根据调度启动时间自定义时间变量, 规则如下:
      • yyyy:表示4 位的年份。
      • MM:表示月份。
      • dd:表示天。
      • HH:表示24小时制,12小时制使用hh。
      • mm:表示分钟。
      • ss:表示秒。
      时间变量可以是包含yyyy年份的任意时间组合,同时支持用加号(+)和减号(-)来分别表示延后和提前。例如,变量${yyyy-MM-dd} 表示当前日期,则:
      • 后1年的表示方式:${yyyy+1y}
      • 后3月的表示方式:${yyyyMM+3m}
      • 前5天的表示方式:${yyyyMMdd-5d}
      注意

      时间变量参数必须以yyyy开始,例如${yyyy-MM}。如果需要单独获取月份等特定时间区域的值,您可在作业内容中使用如下两个函数提取:

      • parseDate(<参数名称>, <时间格式>):将给定参数转换为 Date 对象。其中,参数名称为上述配置参数中设置的一个变量名,时间格式为设置该变量时所使用的时间格式。例如,设置一个变量 current_time = ${yyyyMMddHHmmss-1d},则此处时间格式应设置为 yyyyMMddHHmmss
      • formatDate(<Date对象>, <时间格式>):将给定 Date 对象转换为给定格式的时间字符串。

      函数使用示例:

      • 获取 current_time 变量的小时字面值:${formatDate(parseDate(current_time, 'yyyyMMddHHmmss'), 'HH')}
      • 获取 current_time 变量的年字面值:${formatDate(parseDate(current_time, 'yyyyMMddHHmmss'), 'yyyy')}
    3. 作业设置页面,单击高级设置页签。
      配置项 说明
      模式
      • 提交节点:包括以下两种模式:
        • 在 Worker 节点提交:作业通过Launcher在YARN上分配资源进行提交。
        • 在 Header/Gateway 节点提交:作业在分配的机器上直接运行。
      • 预期最大运行时长:0~10800秒。
      环境变量 添加作业执行的环境变量,也可以在作业脚本中直接export环境变量。
      • 示例一:一个shell类型的任务,内容是echo ${ENV_ABC}。如果此处设置了一个环境变量 ENV_ABC=12345,则echo命令的输出结果为 12345
      • 示例二:一个shell类型的作业,内容是java -jar abc.jar,其中abc.jar的内容是:
        public static void main(String[] args) {System.out.println(System.getEnv("ENV_ABC"));}
        您得到结果是12345。此处环境变量的设置相当于执行了以下脚本:
        export ENV_ABC=12345
        java -jar abc.jar
      调度参数 设置作业运行YARN 队列、内存、虚拟核数、优先级和执行用户等信息。当未设置这些参数时,作业会直接采用Hadoop集群的默认值。
    4. 高级设置完成后,单击告警设置,设置作业的告警配置项。
      配置项 说明
      执行失败 设置作业执行失败时,是否通知到用户告警组或钉钉告警组。
      启动超时 设置作业启动失败时,是否通知到用户告警组或钉钉告警组。
      作业执行超时 设置作业执行超时时,是否通知到用户告警组或钉钉告警组。
  3. 单击右上方的运行,执行作业。
    作业运行后,您可以在页面下方的日志页签中查看作业的运行日志。

问题反馈

如果您在使用阿里云E-MapReduce过程中有任何疑问,欢迎您扫描下面的二维码加入钉钉群进行反馈。

emr_dingding