当我使用下面的代码时,我遇到了impala update statement的问题
update john_estares_db.tempdbhue set QU=concat(account_id,"Q",quarter(mrs_change_date)," ",year(mrs_change_date));它返回错误消息:
AnalysisException: Impala does not support modifying a non-Kudu table: john_estares_db.tempdbhue我想知道我是否可以将我的非Kudu表更改为Kudu表,或者在Impala中是否有替代update statement的非Kudu表。提亚
发布于 2019-05-23 16:14:28
Apache Kudu是一种数据存储(可以将其视为HDFS/S3的替代方案,但只存储结构化数据),它允许基于主键进行更新。这与Impala有很好的集成。Imapla上的Kudu表是查询存储在kudu上的数据的一种方式。
简而言之,如果您还没有安装和设置Kudu,那么就不能在Impala上创建kudu表。
如果您已经安装并设置了Kudu,那么您不能简单地转换一个表kudu表。您必须使用一些主键列创建一个具有相似结构的新kudu表(Kudu需要所有表的主键),并使用sql query insert into .. select * from ...将旧的非kudu表中的数据插入到这个表中。
发布于 2019-11-13 10:45:40
表john_estares_db.tempdbhue的类型是什么?配置单元或其他表类型,不支持update或upsert。您可以使用show create table检查您的表类型。show create table如果你已经安装了kudu,你可以创建一个kudu表,并将你的数据移动到kudu表中,然后你就可以使用你的更新代码了。
https://stackoverflow.com/questions/56183013
复制相似问题