![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
小顽童王
阳光内敛...
展开
-
Hive基础知识
HIve出现的原因:解决SQL用户从一个现有的基于传统关系型数据库和结构化查询语言的基础架构转移到hadoop上,来通过HiveQL来查询存储在Hadoop集群上的数据。Hive可以将大多数的查询转换为MapReduce任务(job),进而在介绍一个令人熟悉的SQL的同时,拓宽了Hadoop的可扩展性。Hive不是一个完整的数据库。Hadoop以及HDFS的设计本身约束和局原创 2016-04-20 17:57:56 · 438 阅读 · 0 评论 -
HiveQL:索引
Hive只有有限的索引功能,Hive中没有普通关系型数据库中键的概念。但是还是可以对一些字段建立索引来加速某些操作的。一张表的索引数据存储在另一张表中。同时因为这是一个相对比较新的功能,所以目前还没有提供很多的选择。然而,索引处理模块被设计成为可以定制的Java编码的插件。因此,用户可以根据实际需要对其进行是吸纳,以满足自身的需求。创建索引create index em原创 2016-04-20 18:07:39 · 739 阅读 · 0 评论 -
HiveQL:视图
使用视图来降低查询复杂度当查询变得很长或复杂的时候,通过使用视图将这个查询语句分隔成多个小的、更可控的片段可以降低这种复杂度。eg:from ( select * from people join cart on (cart.people_id=people.id) where firstname='john') a select a.lastname where a.id=3 ;原创 2016-04-20 18:07:06 · 520 阅读 · 0 评论 -
HCatalog
HCatalog:Apache HCatalog是基于Apache Hadoop之上的数据表和存储管理服务。提供一个共享的模式和数据类型的机制。抽象出表,使用户不必关心他们的数据怎么存储。提供可操作的跨数据处理工具,如Pig,MapReduce,Streaming,和Hive。Hive0.11.0集成了HCatalog,Hive以前的版本不存在HCatalog.HC原创 2016-04-20 18:06:31 · 5526 阅读 · 1 评论 -
Hive函数
UDF:参照https://cwiki.apache.org/confluence/display/Hive/OperatorsAndFunctions1、创建要实现的功能类,继承UDF,需要覆盖evaluate方法2、将要实现的功能类编译成jar包,并添加值hive classpath 进入hive shell模式,通过 add jar path 命令3、创建自定义的聚合原创 2016-04-20 18:05:58 · 385 阅读 · 0 评论 -
自定义Hive文件和记录格式
文件格式文本格式 :textfile(默认)二进制存储格式:Sequencefile 是含有键-值对的二进制文件,是Hadoop本身就支持的一种标准的文件格式,在定义表结构是可通过stored as Sequencefile语句指定。RCfile 大多数的Hadoop和Hive都是按照行式存储的,在大多数情况下,都是比较高效的。这种高效原因:大多数的表的具有原创 2016-04-20 18:05:18 · 847 阅读 · 0 评论 -
Hive锁
Hive结合Zookeeper支持锁功能Hive中包含了一个使用Zookeeper进行锁定的锁功能。Zookeeper实现了高度可靠的分布式协调服务。处理需要增加一些额外的设置和配置步骤。Zookeeper对于Hive用户来说是透明的。安装Zookeeper参见Zookeeper文档现在我们来配置Hive,让其可以使用这些Zookeeper节点来启用并发支持:需要再原创 2016-04-20 18:04:42 · 5831 阅读 · 0 评论 -
Hive安全
使用Hive进行权限验证如果文件和文件夹是多个用户共同拥有的话,那么文件的权限设置就变的相当重要。HDFS中的文件目录权限和Unix中的模式非常相似,都包含3层:用户、组和其他,同时具有3种权限:可读、可写和可执行。Hive中hive.files.unmask.value来定义对于新创建的文件设置默认的权限的unmask值,也就是掩码字节数。同时,当属性hive.metaastore.原创 2016-04-20 18:04:02 · 1953 阅读 · 0 评论 -
存储处理程序和NoSql
存储处理程序是一个结合InputFormat、OutputFormat、SerDe和Hive需要使用的特定的代码,来将外部实体作为标准的Hive表进行处理的整体。Storage Handler BackgroundHadoop中有一个名为InputFormat的抽象接口类,其可以将来自不同源的数据格式化成可以作为job输入的格式。如TextInputFormat。Hadoop同原创 2016-04-20 18:03:23 · 563 阅读 · 0 评论 -
Hive的thrift服务
Hive具有一个可选的组件叫HiveServer或HiveThrift,其允许通过指定端口访问Hive。启动Thrift Server进入Hive安装目录 使用如下命令开启服务hive --service hiveserver &检查HiveServer是否启动成功使用如下命令 netstat -nl | grep 10000配置Groovy使用HiveSe原创 2016-04-20 18:02:48 · 10550 阅读 · 0 评论 -
Hive调优
使用explain 其可以帮助我们学习Hive是如何将查询转化为MapReduce任务的。在执行语句前面增加explain关键字即可,如 explain select sum(number) from onecol ;使用explain extended语句可以产生更多的输出信息。限制调整limit语句是我们经常使用的,在很多情况下limit语句还是需要执行整个查询原创 2016-04-20 18:02:19 · 652 阅读 · 0 评论 -
Hive模式设计
按天划分的表:使用分区分区:一个理想的分区方案不应该导致产生太多的分区和文件夹目录,并且每个目录下的文件应该足够大,应该是文件系统中块大小的若干倍。如何保证:按时间范围进行分区的一个好的策略就是按照不同的时间粒度来确定合适大小的数据积累量,而且安装这个时间粒度。另一个解决方案是使用两个级别的分区并且使用不同的维度。最后如果用户找不到好的分区方案,可以使用"分桶表数据原创 2016-04-20 18:01:34 · 1047 阅读 · 0 评论 -
HiveQL:数据操作
向管理表中装载数据:load data local inpath '/home/demo/data/' overwrite into table emp partition(state='CHN',city='BJ');解析:local 存在该关键字表示从linux本地目录,否则,从HDFS系统inpath 后面添加的路径为一个目录,表示该目录下的所有数据overwrite 存原创 2016-04-20 18:00:57 · 631 阅读 · 0 评论 -
HiveQL:数据定义
Hive中的数据库:本质上是表的一个目录或命名空间,数据库所在的目录位于属性hive.metastore.warehouse.dir所指定的顶层目录之后,数据库的文件目录名是以.db结尾的。hive在查询的时候,如果表中的数据以及分区个数都非常大的话,执行这样一个包含所有分区的查询可能会触发一个巨大的MapReduce任务。一个高度建议的安全措施就是将Hive设置为"strict(严格原创 2016-04-20 18:00:21 · 407 阅读 · 0 评论 -
Hive数据类型和数据格式
Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3中集合数据类型:基本数据类型:tinyint(1byte)、smallint(2byte)、int(4byte)、bigint(8byte)、boolean(true|false)、float(单精度浮点数)、double(双精度浮点数)、string(字符序列)、timestamp(整数、浮点数或者字符串原创 2016-04-20 17:59:41 · 2398 阅读 · 0 评论 -
Hive基础操作
安装Hive : https://cwiki.apache.org/confluence/display/Hive/GettingStarted命令行界面:使用cli,用户可以创建表,查看表模式以及查询表等操作。cli "一次使用"命令:hive -e "select * from mytable limit 3"; hive -S 开启静默模式 去除掉输出原创 2016-04-20 17:59:00 · 326 阅读 · 0 评论 -
其他文件格式及压缩方法
Hive的一个独特的功能:Hive不会强制要求将数据转换成特定的格式才能使用。Hive使用Hadoop的InputFormat API来从不同的数据源读取数据,同样的使用OutputFormat API也可以将数据写成不同的格式。压缩的好处:节约磁盘空间;可以增加吞吐量和性能;提高网络传输性能。确定安装的编解码器hive -e “set io.compression.c原创 2016-04-20 18:08:15 · 605 阅读 · 0 评论