我在配置单元中有orc表我想从这个表中删除列
ALTER TABLE table_name drop col_name;
但我遇到以下异常
执行配置单元查询时出错:OK失败:ParseException行1:35输入“USER_ID1”不匹配,在drop PARTITION语句中的“drop”附近需要分区
有谁能帮助我或提供任何想法来做这件事吗?注意,我正在使用配置单元0.14
不能使用命令alter table table_name drop col_name;
直接从表中删除列
删除列的唯一方法是使用replace命令。比方说,我有一个表emp有id、name和dept列。我想删除表EMP的id列。因此,在replace columns子句中提供所有要作为表一部分的列。下面的命令将从emp表中删除id列。
ALTER TABLE emp REPLACE COLUMNS( name string, dept string);
我使用Hive1.2.1和TEZ0.7进行测试,但是当我使用acid表进行更新和删除时,出现了一些问题,下面是表的结构:
我有一个配置单元表,其中一个date列上存在分区,但date列以YYYYMMDD格式存储为INT。该表还可以包含未来日期分区的数据。 现在,作为过程的一部分,我希望删除那些在处理日(位于处理日)上运行的分区。 当我编写drop分区时,比如,那么它工作正常。 考虑到我的输入将是唯一的日期格式YYYY-MM-DD和我已经删除所有分区已给出输入日期-1;如何使上述陈述奏效?
我正在HIVE中编写代码来创建一个由1300行和6列组成的表: 现在,我想添加另一列,它包含所有1300行的唯一值,值将是。max_count是我现有表中的一列。我怎么能做到?我试图通过以下代码更改表
我试过这个 如果存在分区(process_date='__hive_default_partition__'),则更改表Table_Name DROP; 我正在犯错误
我必须删除大约7列,所以正在寻找一个优雅的方法
我有一个配置单元外部表,有3个分区列(a,B,C),现在我想从分区中删除B和C列。这样做可能吗?我已经尝试使用Alter table tab_name drop column col_name;---但它会抛出一个错误,说明无法删除分区列。