Hive-数据分析和数据仓库

本文详细介绍了Hive的安装配置、创建表及数据导入、HiveQL查询、表分区优化以及用户自定义函数的使用。通过实例展示了如何利用Hive进行数据分析,包括创建外部表、执行JOIN操作、使用视图以及如何避免全表扫描。Hive的使用简化了MapReduce作业的开发流程,使得非专业程序员也能进行大数据分析。
摘要由CSDN通过智能技术生成

为缩短MapReduce作业的开发周期(编辑/编译/提交),完全摒弃这一过程,加速从分析数据到生成结果的过程,Hive使用MapReduce对存储于HDFS上的数据进行分析,且定义了一种类SQL查询语言(HiveQL)。它使用HiveQL语句表述查询操作,并立该将其自动转化成一个或多个MapReduce作业,然后执行这些MapReduce程序并将结果反馈给用户。这样就明显拓宽了Hadoop和MapReduce的使用人群。

安装并设置Hive

Hive以客户端应用程序的形式运行,只要主机安装了Hadoop、设置HADOOP_HOME及PATH,并执行下面命令,让用户组对路径具有写入权限

$ hdfs dfs -mkdir /tmp

$ hdfs dfs -mkdir /user/hive/warehouse

$ hdfs dfs -chmod g+w /tmp

$ hdfs dfs -chmod g+w /user/hive/warehouse

默认情况下,Hive会把执行查询语句产生的临时数据和输出数据写入/tmp目录,在/user/hive/warehouse中存储写入hive表中的数据。

创建Hive表并导入数据

HiveQL对关键词、列名和表名中的字符不区分大小写。在数据导入数据之前常进行预处理,如编写MapReduce作业去掉无效数据和标准化字段。

$ hive> CREATE TABLE ufodata(sighted STRING,reported STRING,sighting_location STRING,shape STRING,duration STRING,

description STRING COMMENT 'some text description') COMMENT 'The UFO data set.';

$ hive> show tables '*data'

$ hive> describe ufodata

$ hive> describe extended ufodata

默认情况下,输入格式被指定为TextInputFormat,且假设插入表中的所有HDFS文件都以文本文件的形式存在。新建commands.hql,内容为

DROP TAB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值