如何在 cloudera quickstart VM 中创建 kudu 表

Posted

技术标签:

【中文标题】如何在 cloudera quickstart VM 中创建 kudu 表【英文标题】:How create a kudu table in cloudera quickstart VM 【发布时间】:2018-05-19 21:17:55 【问题描述】:

我一直在尝试按照这个示例使用 cloudera 快速入门 VM 在 impala 中创建一个 kudu 表 https://kudu.apache.org/docs/quickstart.html

    CREATE TABLE sfmta
PRIMARY KEY (report_time, vehicle_tag)
PARTITION BY HASH(report_time) PARTITIONS 8
STORED AS KUDU
AS SELECT
  UNIX_TIMESTAMP(report_time,  'MM/dd/yyyy HH:mm:ss') AS report_time,
  vehicle_tag,
  longitude,
  latitude,
  speed,
  heading
FROM sfmta_raw;

得到以下错误:

错误:AnalysisException:不使用 impalad 启动标志 -kudu_master_hosts 时需要表属性“kudu.master_addresses”。使用的虚拟机是 cloudera-quickstart-vm-5.13.0-0-virtualbox。提前感谢您的帮助

【问题讨论】:

【参考方案1】:

来自文档

如果 -kudu_master_hosts 配置属性没有设置,你可以 仍然通过指定 a 为每个表关联适当的值 CREATE TABLE 中的 TBLPROPERTIES('kudu.master_addresses') 子句 声明或更改 TBLPROPERTIES('kudu.master_addresses') 值 使用 ALTER TABLE 语句。

所以你的表创建应该是这样的

 CREATE TABLE sfmta
PRIMARY KEY (report_time, vehicle_tag)
PARTITION BY HASH(report_time) PARTITIONS 8
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='localhost:7051') 
AS SELECT
  UNIX_TIMESTAMP(report_time,  'MM/dd/yyyy HH:mm:ss') AS report_time,
  vehicle_tag,
  longitude,
  latitude,
  speed,
  heading
FROM sfmta_raw;

7051 是 kudu master 的默认端口。

【讨论】:

以上是关于如何在 cloudera quickstart VM 中创建 kudu 表的主要内容,如果未能解决你的问题,请参考以下文章

免安裝免設定的 Hadoop 開發環境 - cloudera 的 QuickStart VM

无法使用 Cloudera QuickStart VM 在 HIVE 中执行加入操作

无法通过在 cloudera quickstart VM 中使用 hue 创建的命令行找到 hive 表

ConnectionRefused 尝试使用 cloudera 连接到 hadoop

一旦我已经在 impala shell 中,如何运行 .sql 文件?

虚拟盒安装在启动时导致错误