这是我之前提出的问题的扩展:如何比较具有不同数据类型组的两列
我们正在探索更改表上元数据的想法,而不是对SELECT语句中的数据执行CAST操作。更改MySQL Metastore中的元数据非常容易。但是,是否有可能将元数据更改应用于分区(它们是每天的)?否则,当历史记录为STRING时,我们可能会停留在BIGINT类型的当前和将来数据中。
问题:是否可以在HIVE中更改分区元数据?如果是,怎么办?
您不能在配置单元中更改分区列实际上配置单元不支持更改分区列
请参阅:在Hive中更改分区列的类型
您可以这样想-Hive通过在hdfs中创建一个具有分区列值的文件夹来存储数据-因为如果您尝试更改hive分区,则意味着您正在尝试更改hive表的整个目录结构和数据。如果您按年份进行分区,则不可能exp这是目录结构的样子
tab1/clientdata/2009/file2
tab1/clientdata/2010/file3
如果要更改分区列,可以执行以下步骤
创建另一个配置单元表,并在分区列中进行必要的更改
创建表new_table(A int,B String .....)
从上表加载数据
插入到new_table分区(B)中,从表Prev_table中选择A,B
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句