Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量. 在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的. 博主我推荐各位博文们通过查阅Hive文档对Hive表的索引进行更深入的了解. 需要时刻记住的是,Hive并不像事物数据库那样针对个别的行来执行查询.更新.删除等操作.这些操作依赖高效的索引来实现高性能. Hive是一…
hive里的索引是什么? 索引是标准的数据库技术,hive 0.7版本之后支持索引.Hive提供有限的索引功能,这不像传统的关系型数据库那样有“键(key)”的概念,用户可以在某些列上创建索引来加速某些操作,给一个表创建的索引数据被保存在另外的表中. Hive的索引功能现在还相对较晚,提供的选项还较少.但是,索引被设计为可使用内置的可插拔的java代码来定制,用户可以扩展这个功能来满足自己的需求. 当然不是说有的查询都会受惠于Hive索引.用户可以使用EXPLAIN语法来分析HiveQL语句是否…
 说在前面的话 以下三种情况,最好是在3台集群里做,比如,master.slave1.slave2的master和slave1都安装了hive,将master作为服务端,将slave1作为服务端. 以下,是针对CentOS版本的,若是Ubuntu版本,见我的博客 Ubuntu系统下安装并配置hive-2.1.0 hive三种方式区别和搭建 Hive中metastore(元数据存储)的三种方式: a)  内嵌Derby方式 b)  Local方式 c)  Remote方式 1.本地derby 这种…
<Spark最佳实战  陈欢>写的这本书,关于此知识点,非常好,在94页. hive里的扩展接口,主要包括CLI(控制命令行接口).Beeline和JDBC等方式访问Hive. CLI和Beeline都是交互式用户接口,并且功能相似,但是语法和实现不同. JDBC是一种类似于编程访问关系型数据库的编程接口. 1.CLI 在UNIX shell环境下输入hive命令可以启用Hive CLI.在CLI下,所有的Hive语句都以分号结束. 在CLI下可以对一些属性做出设置,像是设置底层MapRedu…
这个小知识点,看似简单,用处极大. $ hive --hiveconf hive.cli.print.current.db=true $ hive --hiveconf hive.cli.print.header=true  hive参数的使用 hive > create table t5(name string,${system:user.name}  string); create table t6(name string, ${env:HOSTNAME}  string ,  ${env:…
为了对表进行合理的管理以及提高查询效率,Hive可以将表组织成“分区”. 分区是表的部分列的集合,可以为频繁使用的数据建立分区,这样查找分区中的数据时就不需要扫描全表,这对于提高查找效率很有帮助. 分区是一种根据“分区列”(partition column)的值对表进行粗略划分的机制.Hive中的每个分区对应数据库中相应分区列的一个索引,每个分区对应着表下的一个目录,在HDFS上的表现形式与表在HDFS上的表现形式相同,都是以子目录的形式存在. 一个表可以在多个维度上进行分区,并且分区可以嵌套使…
Hive与JDBC示例 在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口.在hive安装目录下的bin,使用下面命令进行开启: hive -service hiveserver &  //Hive低版本提供的服务是:Hiveserver hive --service hiveserver2 &       //Hive0.11.0以上版本提供了的服务是:Hiveserver2 我这里使用的Hive1.0版本,故我们使用Hiveserver2服务,下面我使用…
Hive文件存储格式包括以下几类: 1.TEXTFILE 2.SEQUENCEFILE 3.RCFILE 4.ORCFILE 其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理. SEQUENCEFILE,RCFILE,ORCFILE格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入SequenceFile,RCFile,ORCFile表中. 更多用法,一定要去看官网啊!!!…
说在前面的话 hive的正则表达式,是非常重要!作为大数据开发人员,用好hive,正则表达式,是必须品! Hive中的正则表达式还是很强大的.数据工作者平时也离不开正则表达式.对此,特意做了个hive正则表达式的小结.所有代码都经过亲测,正常运行. 1.regexp 语法: A REGEXP B 操作类型: strings 描述: 功能与RLIKE相同 select count(*) from olap_b_dw_hotelorder_f where create_date_wid not re…
Hive可以通过实现用户定义函数(User-Defined Functions,UDF)进行扩展(事实上,大多数Hive功能都是通过扩展UDF实现的).想要开发UDF程序,需要继承org.apache.hadoop.ql.exec.UDF类,并重载evaluate方法.Hive API提供@Description声明,使用声明可以在代码中添加UDF的具体信息.在Hive中可以使用DESCRIBE语句来展现这些信息. Hive的源码本身就是编写UDF最好的参考资料.在Hive源代码中很容易就能找到…