在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
有人可以帮忙。
答案 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;
希望它对其他人有用。