Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理;本文通过一个简单的示例来展现如何结合OSS+EMR+Hive来分析OSS上的数据。
前提条件
• 已注册阿里云账号,详情请参见注册云账号。
• 已开通E-MapReduce服务和OSS服务。
• 已完成云账号的授权,详情请参见角色授权。
• 已创建Haoop集群,且带有Hive组件, 且配置好OSS数据源。
步骤一:上传数据至OSS
hadoop fs -put course.csv oss://your-bucket-name/
步骤二:创建Hive作业开发页面
步骤三:SQL 实现
创建数据表
CREATE TABLE course (num INT, subject string, level string) row format delimited fields terminated by "," location "/";
导入数据
LOAD DATA INPATH 'oss://your-bucket-name/course.csv' INTO TABLE course;
查询语句
select A.suject, A.level, A.count from (select suject, level, count(*)
as count from course group by suject , level) A join (select B.suject as suject,
max(B.count) as count from (select suject, level, count(*) as count from course
group by suject , level) B group by B.suject ) C on A.suject=C.suject and A.count = C.count;
步骤四:查看日志和结果
步骤五:总结
通过该实例,能够了解从数据上传至OSS到在EMR集群上使用hive 分析该数据的整个过程,为深入学习和使用奠定基础。