错误:analysisexception:必须使用distribute by子句指定数据分发

cigdeys3  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(429)

同时在http://kudu.apache.org/docs/quickstart.html 尝试从impala表passenger\u data\u raw创建kudu表passenger\u数据时遇到错误“error:analysisexception:必须使用distribute by子句指定数据分发”。

[quickstart.cloudera:21000] > CREATE TABLE passenger_data
                            > TBLPROPERTIES(
                            > 'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
                            > 'kudu.table_name' = 'passenger_data',
                            > 'kudu.master_addresses' = '127.0.0.1',
                            > 'kudu.key_columns' = 'id'
                            >  ) AS SELECT * FROM passenger_data_raw;
Query: create TABLE passenger_data
TBLPROPERTIES(
'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
'kudu.table_name' = 'passenger_data',
'kudu.master_addresses' = '127.0.0.1',
'kudu.key_columns' = 'id'
 ) AS SELECT * FROM passenger_data_raw
ERROR: AnalysisException: A data distribution must be specified using a DISTRIBUTE BY clause.

系统规范1。macbook 2011 2。奥斯埃尔卡皮坦3。按照快速入门指南的指导,为kudu下载了cdh-vm。4.kudu 0.9.0(版本5f2bf643d8ce3d042aa3903543a92841077a6874)uuid ca7e69c27e064aac8fa64db53cad71e5
有人能帮忙吗。

inn6fuwd

inn6fuwd1#

幸运的是谷歌搜索让我找到了http://www.cloudera.com/documentation/betas/kudu/0-5-0/pdf/cloudera-kudu.pdf . 所以我试着用“散列分发”。。。。我不知道为什么我要尝试它,也许是因为它与错误有关。这个问题对我有用。

CREATE TABLE passenger_data
DISTRIBUTE BY HASH (id) INTO 16 BUCKETS
TBLPROPERTIES(
'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
'kudu.table_name' = 'passenger_data',
'kudu.master_addresses' = '127.0.0.1',
'kudu.key_columns' = 'id'
 ) AS SELECT * FROM passenger_data_raw;

希望它对其他人有用。

相关问题