У меня есть заголовок стола в таблице, и я хочу изменить его и добавить несколько столбцов. Мне нужно, чтобы новые добавленные colummns сохраняли значение по умолчанию равным нулю. Моя таблица уже загружена с 14-летними данными. Поскольку это разделенная таблица на 2002-2014 годы по умолчанию, значение этого вновь добавленного столбца должно быть нулевым в таблице.ALTER TABLE ADD COLUMN WITH DEFAULT NULL
create table facility_HEADER
(
A string,
B INT,
C INT
)partitioned by (year int comment 'Date Year Incurred')
STORED AS PARQUET
Alter Table Command
ALTER TABLE facility_HEADER add columns (MSCLMID Bigint,NPI STRING,UNITS decimal(10,2));
Когда я положил описания на столе я могу увидеть столбцы получил добавляется в конце. Когда я помещаю select * из любого раздела, он дает ошибку.
Failed с исключением java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: org.apache.hadoop.io.IntWritable не может быть отлиты в org.apache.hadoop.io.LongWritable
Мой стол, имеющий 14 лет данных, и я не хочу, чтобы это было сделано с введением нулевой в ЗЕЬЕСТ и давать псевдонимы.
Я пробовал вещи, относящиеся к here и от here.
Может ли кто-нибудь помочь мне, что на самом деле произошло с моим столом. Я потерял 14 лет данных в пути.
Я уже упоминал в своем запросе. Я не хочу помещать select и null в качестве столбцов, поскольку мои данные находятся в ТБ. Другая команда вставки вызовет меня больше времени. Есть ли другое обходное решение? – codaholic
Вот почему я сказал, что не работает ни один другой вариант, если вы не измените свои паркетные файлы ... –