我有一個表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
這就是爲什麼我告訴只有在沒有其他選項的情況下才能工作,除非您更改拼花地板文件... –