1

在遵循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

有人可以帮忙吗。

4

1 回答 1

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;

希望它对其他人有用。

于 2016-07-03T19:16:06.157 回答