错误:AnalysisException:必须使用DISTRIBUTE BY子句

时间:2016-07-03 19:12:27

标签: impala apache-kudu

http://kudu.apache.org/docs/quickstart.html跟随kudu快速入门时  我遇到错误“错误:AnalysisException:必须使用DISTRIBUTE BY子句指定数据分发。”尝试从impala表passenger_data_raw创建kudu表passenger_data。

[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. OS El-Capitan 3.按照快速入门指南的指示,为kudu下载了CDH VM。 4. kudu 0.9.0(rev 5f2bf643d8ce3d042aa3903543a92841077a6874)    uuid ca7e69c27e064aac8fa64db53cad71e5

有人可以帮忙。

1 个答案:

答案 0 :(得分:3)

幸运的是谷歌搜索引导我http://www.cloudera.com/documentation/betas/kudu/0-5-0/PDF/cloudera-kudu.pdf。 所以我尝试使用“DISTRIBUTE BY HASH”....我不知道为什么我尝试它可能是因为它与错误有关。这个查询对我有用。

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;

希望它对其他人有用。