E-MapReduce 中,用户申请集群的时候,默认为用户提供了 Hive 环境,用户可以直接使用 Hive 来创建和操作自己的表和数据。操作步骤如下。
用户需要提前准备好 Hive SQL 的脚本,例如:[backcolor=transparent] USE DEFAULT[backcolor=transparent];- [backcolor=transparent] DROP TABLE uservisits[backcolor=transparent];
- [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
- [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
- [backcolor=transparent] NATED BY [backcolor=transparent]','[backcolor=transparent] STORED AS SEQUENCEFILE LOCATION [backcolor=transparent]'/HiBench/Aggregation/Input/uservisits'[backcolor=transparent];
- [backcolor=transparent] DROP TABLE uservisits_aggre[backcolor=transparent];
- [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
- [backcolor=transparent] CATION [backcolor=transparent]'/HiBench/Aggregation/Output/uservisits_aggre'[backcolor=transparent];
- [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 作业。这种类型的作业,其后台实际上是通过以下的方式提交。
- [backcolor=transparent] hive [backcolor=transparent][[backcolor=transparent]user provided parameters[backcolor=transparent]]
在[backcolor=transparent]应用参数选项框中填入 Hive 命令后续的参数。例如,如果需要使用刚刚上传到 OSS 的 Hive 脚本,则填写的内容如下:
- [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 作业即定义完成。