无法使用impala-shell在Kudu中创建表

时间:2018-07-03 13:25:20

标签: impala apache-kudu

我当时在hadoop,hive,impala和kudu上进行研发。已安装HADOOP,HIVE,IMPALA和KUDU服务器。

我已经在/ etc / default-> impala文件中配置了--kudu_master_hosts =:。即如下所示:

{% for item in people %}

$(".foo").click(function(evt) {
$.ajax({
 url: "/~s6/cgi-bin/people.py",
 async: true,
 type: "post",
 datatype:"json",
 data: {'peopleid': {{item[0]}}},
      success: function(result) {
        console.log(result)
        //console.log(result.peopleinfo.surname)
       // console.log(result.peopleinfo.othernames)
        console.log(result.familyinfos)

         html = "<table class='table table-striped table-bordered table-condensed'>" + "<tr><th>Old Name</th><td>" + result.peopleinfo.surname  + "</td></tr>"' + "<table>"

$('#infoTab').html(html)

 $("#placenameModal").modal("show");
      }

  });


  });
 {% endfor %} 

=============== 之后,重新启动了服务器。 然后使用Kudu JAVA客户端,我能够在kudu中创建表并能够插入一些记录。

然后通过执行以下操作在impala中映射相同的表:

IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}\
    --kudu_master_hosts=<HOST_NAME>:<PORT>"

成功能够访问impala中的kudu表并能够查看所有记录。 现在,我试图使用impala-shell在KUDU中创建一个表。

CREATE EXTERNAL TABLE my_mapping_table
STORED AS KUDU
TBLPROPERTIES (
  'kudu.table_name' = 'testT1'
);

但这给出了错误,即:

[<HOST_NAME>:21000] > CREATE TABLE my_first_table
                               > (
                               >   id BIGINT,
                               >   name STRING,
                               >   PRIMARY KEY(id)
                               > )
                               > STORED AS KUDU;

任何人都可以向我解释发生了什么或该错误的解决方案。

通读KUDU文档,但没有任何想法。

关于, 阿克沙伊

1 个答案:

答案 0 :(得分:0)

此查询将有助于创建表,即

CREATE TABLE emp
(
  uname STRING,
  age INTEGER,
  PRIMARY KEY(uname)
)
STORED AS KUDU
TBLPROPERTIES (
  'kudu.num_tablet_replicas' = '1'
);

仅当在/ etc / default impala文件中设置了--kudu_master_hosts =:时,此查询才有效。 否则,您必须在表属性中提供kudu_master_hosts。即

TBLPROPERTIES (
      'kudu.num_tablet_replicas' = '1',
       --kudu_master_hosts=<HOST_NAME>:<PORT>
    );