1,hive关键点:
hive是通过mysql语句进行处理数据,首先我们在客户端写sql语句,把写的sql语句的元数据信息加载到mysql中,mysql和hdfs映射的表结构进行交互,最后通过mapreducer进行处理,显示处理过后的信息,底层数据没有变化,只是把处理的数据显示出来,同样可以把处理过后的数据,保存起来,保存到hdfs底层硬件中,这样以来可以看出hive处理大数据的强大之处。
2,hive自己特有的命令:
第一:要想用好hive,就要知道一些有关hive的独有命令,当我们用hive的时候一定不要忘记,hive是和mapreduce在一起运用的,所以hive的的特殊语句也就离开不了关于mapreducer的相关语法了。
1,set mapreduce.job.reduces; 查看reducer的数量,当进行分区排序的时候可以查看(sort by)
2, set mapreduce.job.reduces=3; 手动设置reducer的数量,临时有效。
3,hive理解深入:
1,加载本地文件到hive,这个本地的意思是Linux中的数据,(我们要了解不管是hdfs,还是数据库,都是自己在磁盘上开辟空间,把数据存储到开辟的空间里,我想大家会问,那磁盘的就那麽大),首先明确为啥是本地的到hive上,hive的地层又是在hdfs上,那本地的文件最终不就是加载到hdfs上了吗?,有点绕,但是理清一下,本地的文件是不在我们hive的文件目录中的,我们可以这样理解,是不是把hive外面的数据添加到我们hive所管的目录里面呢,这样一想豁然开朗,就是把本地hive外面的数据加载到hive结构化文件里,hive是一个结构化的数据管理工具,管理的数据都是结构化的。
2,hive本质是通过mysql语句的元数据信息和hdfs中的数据表进行关联,通过mapreduce运算得到数据,那么hive究竟是什么呢?他就是封装了mapreduce模板的数据处理工具,写的sql语句,转化为mapreducer语句,进行处理数据,综合来说我们学的就是一个工具,就是有一个封装了mapreducer的工具,也就是为了简单化mapreducer的代码过程所创造出来的。