一、Hive概述
Hive定义了类似SQL的查询语言——HiveQL,用户编写HiveQL语句运行MapReduce任务,查询存储在Hadoop集群中的数据。
HiveQL与MySQL最接近,但还是有显著性差异的。Hive不支持行级插入、更新操作和删除操作。Hive不支持事务。HiveQL并不符合ANSI SQL标准。
HiveQL实现词频统计算法(Word Count):
CREATE TABLE docs(line STRING); #创建docs表
LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE docs; #将‘docs’中数据写入docs表
CREATE TABLE word_counts AS
SELECT word
,count(1) AS count
FROM (SELECT explode(split(line,'\s')) AS word FROM docs) w
GROUP BY word
ORDER BY word; #explode():列表中每个元素生成一行
二、数据类型
举例: