开发者社区 问答 正文

E-MapReduceHive 作业配置是什么?


E-MapReduce 中,用户申请集群的时候,默认为用户提供了 Hive 环境,用户可以直接使用 Hive 来创建和操作自己的表和数据。操作步骤如下。


  1. 用户需要提前准备好 Hive SQL 的脚本,例如:[backcolor=transparent] USE DEFAULT[backcolor=transparent];
  2. [backcolor=transparent] DROP TABLE uservisits[backcolor=transparent];
  3. [backcolor=transparent] CREATE EXTERNAL TABLE IF NOT EXISTS uservisits  [backcolor=transparent]([backcolor=transparent]sourceIP STRING[backcolor=transparent],[backcolor=transparent]destURL STRING[backcolor=transparent],[backcolor=transparent]visitDate STRING[backcolor=transparent],[backcolor=transparent]adRevenue DOUBLE[backcolor=transparent],[backcolor=transparent]user
  4. [backcolor=transparent] [backcolor=transparent]Agent[backcolor=transparent] STRING[backcolor=transparent],[backcolor=transparent]countryCode STRING[backcolor=transparent],[backcolor=transparent]languageCode STRING[backcolor=transparent],[backcolor=transparent]searchWord STRING[backcolor=transparent],[backcolor=transparent]duration INT [backcolor=transparent])[backcolor=transparent] ROW FORMAT DELIMITED FIELDS TERMI
  5. [backcolor=transparent] NATED BY [backcolor=transparent]','[backcolor=transparent] STORED AS SEQUENCEFILE LOCATION [backcolor=transparent]'/HiBench/Aggregation/Input/uservisits'[backcolor=transparent];
  6. [backcolor=transparent] DROP TABLE uservisits_aggre[backcolor=transparent];
  7. [backcolor=transparent] CREATE EXTERNAL TABLE IF NOT EXISTS uservisits_aggre [backcolor=transparent]([backcolor=transparent] sourceIP STRING[backcolor=transparent],[backcolor=transparent] sumAdRevenue DOUBLE[backcolor=transparent])[backcolor=transparent] STORED AS SEQUENCEFILE LO
  8. [backcolor=transparent] CATION [backcolor=transparent]'/HiBench/Aggregation/Output/uservisits_aggre'[backcolor=transparent];
  9. [backcolor=transparent] INSERT OVERWRITE TABLE uservisits_aggre SELECT sourceIP[backcolor=transparent],[backcolor=transparent] SUM[backcolor=transparent]([backcolor=transparent]adRevenue[backcolor=transparent])[backcolor=transparent] FROM uservisits GROUP BY sourceIP[backcolor=transparent];

将该脚本保存到一个脚本文件中,例如叫 uservisits_aggre_hdfs.hive,然后将该脚本上传到 OSS 的某个目录中(例如:oss://path/to/uservisits_aggre_hdfs.hive)。
登录 阿里云 E-MapReduce 控制台作业列表
单击该页右上角的[backcolor=transparent]创建作业,进入创建作业页面。
填写作业名称。
选择 Hive 作业类型,表示创建的作业是一个 Hive 作业。这种类型的作业,其后台实际上是通过以下的方式提交。
  1. [backcolor=transparent] hive [backcolor=transparent][[backcolor=transparent]user provided parameters[backcolor=transparent]]

在[backcolor=transparent]应用参数选项框中填入 Hive 命令后续的参数。例如,如果需要使用刚刚上传到 OSS 的 Hive 脚本,则填写的内容如下:
  1. [backcolor=transparent] [backcolor=transparent]-[backcolor=transparent]f ossref[backcolor=transparent]:[backcolor=transparent]//path/to/uservisits_aggre_hdfs.hive

您也可以单击[backcolor=transparent]选择 OSS 路径,从 OSS 中进行浏览和选择,系统会自动补齐 OSS 上 Hive 脚本的绝对路径。请务必将 Hive 脚本的前缀修改为 ossref(单击[backcolor=transparent]切换资源类型),以保证 E-MapReduce 可以正确下载该文件。
选择执行失败后策略。
单击[backcolor=transparent]确定,Hive 作业即定义完成。

展开
收起
nicenelly 2017-10-30 14:02:21 1557 分享 版权
阿里云 AI 助理回答

您已经详细描述了在阿里云E-MapReduce中使用Hive进行数据处理的整个过程,这里我再简要概括一下步骤并补充一些可能需要关注的点:

  1. 准备Hive SQL脚本:首先,您需要编写一个Hive SQL脚本,这个脚本包含了创建表、删除表、插入数据以及聚合操作等命令。您的示例脚本展示了如何定义表结构、加载数据以及执行聚合查询。

  2. 上传脚本到OSS:将编写的Hive SQL脚本保存为文件(如uservisits_aggre_hdfs.hive),然后上传至阿里云对象存储服务(OSS)的一个指定目录下。OSS提供了一个安全、低成本、高可靠的云存储解决方案,适合存放各种类型的文件。

  3. 登录E-MapReduce控制台:通过阿里云官网进入E-MapReduce控制台,准备创建一个新的作业。

  4. 创建Hive作业

    • 点击“创建作业”按钮。
    • 填写作业名称,便于管理和识别。
    • 选择作业类型为“Hive”,这会告诉系统即将提交的是一个Hive任务。
    • 在应用参数中输入或选择OSS中脚本的路径。如果直接填写,格式应为-f ossref://path/to/uservisits_aggre_hdfs.hive。或者,利用控制台提供的“选择OSS路径”功能来浏览和选择脚本,确保路径前缀为ossref以正确下载文件。
  5. 设置执行失败策略:根据需求选择作业执行失败后的处理方式,比如重试、忽略错误或终止后续作业等。

  6. 提交作业:检查所有信息无误后,点击“确定”完成作业的创建。E-MapReduce平台会根据您的配置调度资源,并执行Hive作业。

注意事项: - 确保OSS中的脚本具有正确的读权限,以便E-MapReduce服务可以访问。 - 监控作业执行状态,可以通过E-MapReduce控制台查看作业日志,了解执行详情及潜在问题。 - 考虑数据量大小和集群资源,合理安排作业执行时间,避免影响其他服务或产生额外费用。 - 对于复杂的数据处理逻辑,考虑分阶段实施,逐步验证每一步的结果。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答