在创建Hive表时,字段分区是一个非常非常容易导致将来遇到问题的一个地方,我们常常将时间日期来作为分区字段。
考虑到数据源之间的转换,日期字段作为分区时,不要用date类型!
oracle的date类型只支持全格式的数据类型,就是yyyy-MM-dd hh:mm:ss,而Hive则时yyyy-MM-dd,oracle导数据到Hive中,系统会自动截掉后面的时分秒,然而反过来,就不会!!! 所以会导致导入不成功!
建议用string类型来做分区字段的类型
Hive分区表映射Hdfs的数据的步骤分为以下几个部分:
1、Hive建表建分区
2、HDFS创建相关Hive的物理地址(hadoop fs -mkdir xxxxx/xxxxx/精确到分区的那个目录)
3、Hive执行 Alter table add partition(xxxx===)添加新的分区
4、到Hive查询相关分区与数据验证是否插入