基于Hadoop数据仓库Hive1.2部署及使用


以下基于上篇Hadoop2.6集群部署:http://lizhenliang.blog.51cto.com/7876557/1661354接下来安装Hadoop数据仓库Hive,上节了解HBase简单使用,听起来HBase与Hive有些类似,概念也有点模糊,那我们先了解下他们之间有什么区别: HBase是一种分布式、面向列的NoSQL数据库,基于HDFS存储,以表的形式存储数据,表由行和列组成,列划分到列族中。HBase不提供类SQL查询语言,要想像SQL这样查询数据,可以使用Phonix,让SQL查询转换成hbase的扫描和对应的操作,也可以使用现在说讲Hive仓库工具,让HBase作为Hive存储 Hive是运行在Hadoop之上的数据仓库,将结构化的数据文件映射为一张数据库表,提供简单类SQL查询语言,称为HQL,并将SQL语句转换成MapReduce任务运算。有利于利用SQL语言查询、分析数据,适于处理不频繁变动的数据。Hive底层可以是HBase或者HDFS存储的文件。 两者都是基于Hadoop上不同的技术,相互结合使用,可处理企业中不同类型的业务,利用Hive处理非结构化离线分析统计,利用HBase处理在线查询。 Hive三种元数据存储方式:1>.本地derby存储,只允许一个用户连接Hive,适用于测试环境2>.本地/远程MySQL存储,支持多用户连接Hive,适用于生产环境三、Hive安装与配置(以下将元数据存储到远程MySQL配置)1.在MySQL创建Hive元数据存放库和连接用户2.安装与配置Hive(在HMaster0安装)3.配置系统变量4.启动Hive5.检查是否正常启动查看进程是否启动:执行hive命令会进入命令界面:查看数据库,默认有一个default库,现在就可以用你熟悉的SQL语言了。6.客户端连接Hive(必须有Hadoop环境)配置好连接信息,连接命令行:7.Hive常用SQL命令7.1 先创建一个测试7.2 创建tb1表,并指定字段分隔符为tab键(否则会插入NULL)如果想再创建一个表,而且表结构和tb1一样,可以这样:查看下表结构:7.3 从本地文件中导入数据到Hive表先创建数据文件,键值要以tab键空格:再导入数据:7.4 从HDFS中导入数据到Hive表7.5查询是否导入成功博客地址:http://lizhenliang.blog.51cto.com上面是基本表的简单操作,为了提高处理性能,Hive引入了分区机制,那我们就了解分区表概念:1>.分区表是在创建表时指定的分区空间2>.一个表可以有一个或多个分区,意思把数据划分成块3>.分区以字段的形式在表结构中, 香港云主机不存放实际数据内容分区表优点:将表中数据根据条件分配到不同的分区中,缩小查询范围,提高检索速度和处理性能。单分区表:
7.6创建单分区表tb2(HDFS表目录下只有一级目录):注:dt可以理解为分区名称。7.7从文件中把数据导入到Hive分区表,并定义分区信息7.8查看表数据7.9查看HDFS仓库中表目录变化可以看到tb2表导入的数据根据日期将数据划分到不同目录下。多分区表:7.10 创建多分区表tb3(HDFS表目录下有一级目录,一级目录下再有子级目录)7.11从文件中把数据导入到Hive分区表,并定义分区信息7.12 查看表数据7.13查看HDFS仓库中表目录变化可以看到表中一级dt分区目录下又分成了location分区。7.14查看表分区信息7.15 根据分区查询数据7.16 重命名分区7.17 删除分区7.18模糊搜索7.19给表新添加一列7.20重命名表7.21删除表8.启动过程中遇到错误报错1:[ERROR]Terminal initialization failed; falling back to unsupportedjava.lang.IncompatibleClassChangeError:Found class jline.Terminal, but interface was expected解决方法,将hive/lib下jline包拷贝到hadoop/yarn/lib下:报错2:javax.jdo.JDOFatalInternalException:Error creating transactional connection factory解决方法,在百度下载java连接MySQL包放到hive/lib下:

相关推荐: 怎么用dism命令修复win10系统文件

这篇文章主要为大家展示了“怎么用dism命令修复win10系统文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用dism命令修复win10系统文件”这篇文章吧。1、首先可以使用win+x快捷键,直接 香港云主…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/23 16:32
下一篇 07/23 16:32

相关推荐