我当时在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文档,但没有任何想法。
关于, 阿克沙伊
答案 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>
);