在 Impala 中把非Kudu变成Kudu桌

mo49yndu  于 2021-06-26  发布在  Impala
关注(0)|答案(2)|浏览(738)

和 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表,或者是否有一个替代表 update statement 对于 Impala 的非Kudu人。短暂性脑缺血发作

brvekthn

brvekthn1#

apachekudu是一个数据存储(可以将其视为hdfs/s3的替代品,但只存储结构化数据),它允许基于主键进行更新。这与 Impala 有很好的结合。imapla上的kudu表是一种查询kudu上存储的数据的方法。
简而言之,如果您还没有安装kudu,并且还没有安装程序,那么就不能在impala上创建kudu表。
如果安装了kudu表并进行了设置,则不能简单地转换kudu表。您必须创建一个具有类似结构的新kudu表,其中包含一些主键列(kudu需要所有表的主键),并使用sql查询从旧的非kudu表中插入数据 insert into .. select * from ... .

2fjabf4q

2fjabf4q2#

什么样的table john_estares_db.tempdbhue ? 不支持配置单元或其他表类型、update或upsert。你可以用 show create table 检查您的表类型。show create table如果安装了kudu,可以创建kudu表,并将数据移动到kudu表中,然后可以使用更新代码。

相关问题