数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件通过网络在多台主机上分享的文件系统,可让多台机器上的多用户分享文件和存储空间. 通透性,它实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般. 容错,即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失. 分布式文件管理系统很多,hdfs只是其中一种.见h…
Shuffle是非常非常非常重要.搞mr,必须熟烂于心. 因为,分区,分组,排序,,,都是在Shuffle里完成.…
 说在前面的话 以下三种情况,最好是在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 这种…
Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量. 在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的. 博主我推荐各位博文们通过查阅Hive文档对Hive表的索引进行更深入的了解. 需要时刻记住的是,Hive并不像事物数据库那样针对个别的行来执行查询.更新.删除等操作.这些操作依赖高效的索引来实现高性能. Hive是一…
Hive文件存储格式包括以下几类: 1.TEXTFILE 2.SEQUENCEFILE 3.RCFILE 4.ORCFILE 其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理. SEQUENCEFILE,RCFILE,ORCFILE格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入SequenceFile,RCFile,ORCFile表中. 更多用法,一定要去看官网啊!!!…
<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脚本,其实,这在生产环境里,是非常重要的! $ hive -e "show tables" $ hive -e "show tables " >> aa $ hive -e "show tables " > aa $ hive -S -e "show tables"  >a  新建hql文件,写入show tables; $ hive -f hql $ hive -i hq…
Hive可以通过实现用户定义函数(User-Defined Functions,UDF)进行扩展(事实上,大多数Hive功能都是通过扩展UDF实现的).想要开发UDF程序,需要继承org.apache.hadoop.ql.exec.UDF类,并重载evaluate方法.Hive API提供@Description声明,使用声明可以在代码中添加UDF的具体信息.在Hive中可以使用DESCRIBE语句来展现这些信息. Hive的源码本身就是编写UDF最好的参考资料.在Hive源代码中很容易就能找到…
Hive与JDBC示例 在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口.在hive安装目录下的bin,使用下面命令进行开启: hive -service hiveserver &  //Hive低版本提供的服务是:Hiveserver hive --service hiveserver2 &       //Hive0.11.0以上版本提供了的服务是:Hiveserver2 我这里使用的Hive1.0版本,故我们使用Hiveserver2服务,下面我使用…