我试图使用 alter 命令重命名 hive (orc 表) 表中的列名。列名被重命名,但数据被修改为 "Null "值。例如:
select city from p_details; city Santa Fe Springs Jiangmen **alter table p_details change city city_name string;** select city_name from p_details; city_name NULL NULL
alen0pnh1#
根据hive手册。"列更改命令只会修改 hive 的元数据,而不会修改数据。用户应该确保表/分区的实际数据布局符合元数据的定义。",这意味着如果是一个 orc 或 parquet 表,列更改不会改变任何底层数据。你总是可以创建一个新的表和重命名的列。
1条答案
按热度按时间alen0pnh1#
根据hive手册。"列更改命令只会修改 hive 的元数据,而不会修改数据。用户应该确保表/分区的实际数据布局符合元数据的定义。",这意味着如果是一个 orc 或 parquet 表,列更改不会改变任何底层数据。
你总是可以创建一个新的表和重命名的列。