我有一个表Facility Facility标题,我想改变它,并添加几列。我希望新添加的列删除默认值为空。我的表已经加载了14年的数据。由于默认情况下它是2002 - 2014年的分区表,这些新添加的列的值应该在表中为空。ALTER TABLE添加列与默认空
create table facility_HEADER
(
A string,
B INT,
C INT
)partitioned by (year int comment 'Date Year Incurred')
STORED AS PARQUET
ALTER TABLE命令
ALTER TABLE facility_HEADER add columns (MSCLMID Bigint,NPI STRING,UNITS decimal(10,2));
当我把一个描述桌子上,我可以看到列在末尾附加得到。 当我把一个select *从任何分区它给出错误。
无法与例外 产生java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException:org.apache.hadoop.io.IntWritable不能 定投到org.apache.hadoop.io.LongWritable
我的表有14年的数据,我不希望它与null放入select子句和给别名做。
任何人都可以帮助我实际发生在我的桌子上的事情。我一路走来失去了14年的数据。
我已经在我的查询中提到我不想将select和null作为那些列作为我的数据在TB中另一个插入命令将导致我更多时间。是否有其他解决方法? – codaholic
这就是为什么我告诉只有在没有其他选项的情况下才能工作,除非您更改拼花地板文件... –