概述
总的来说,Hive相当于在hadoop之上加了一个SQL语法层,它提供了客户端与接口供使用人员与hadoop间接交互,简化了hadoop的使用。它接收SQL语句,转换成MapReduce任务,供hadoop执行。而且SQL语法很规范哦,上手很简单。
其他关于使用方面的说明不再赘述,这方面的网上很多。
想记录一个很小的问题。是关于外部分区表使用相关的。
外部分区表建表语句
CREATE EXTERNAL TABLE 表名 ( 列属性等 ) PARTITION BY ( 列属性等 ) ….
需要注意的是,作为分区出现的列不可以同时出现在表明后面的区域内,否则会报出“Column repeated in partitioning columns”的错误。
还有,通常新建分区并导入数据时,是通过跑MapReduce的程序向HDFS中导入数据的,HDFS目录名就在这个时候被确定下来。相应的,就需要在表中进行“ALTER TABLE… ADD PARTITION”的操作,表中所对应分区列所对应的数据内容是在这一步确定的。路径名与“ADD PARTITION”时写的不一致时,需要格外注意。
举个例子如通常分区会使用日期和整数时间作为分区列,如果跑MapReduce时指定的路径类型是带横杠形式的,如日期和时间分别为“2016-06-09”和“14”。而“ADD PARTITION”是“20160609”和“14”。使用查询语句要将过滤条件写成与“ADD PARTITION”相同的格式,也就是后者,不带横杠的形式。否则会导致数据查询不出来。
最后
以上就是鳗鱼月饼为你收集整理的Hive分区表添加分区时的注意事项的全部内容,希望文章能够帮你解决Hive分区表添加分区时的注意事项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复