2

我下载了 apache kudu 的快速启动虚拟机,并按照这些示例出现在此页面https://kudu.apache.org/docs/quickstart.html中,实际上我创建了名为“sfmta”的表,但是当我尝试使用带有以下语句的 spark-shell 访问 kudu 表:

val df = spark.sqlContext.read.options(Map("kudu.master" -> "quickstart.cloudera:7051","kudu.table" -> "sfmta")).kudu

我收到这个错误

org.apache.kudu.client.NonRecoverableException: The table does not exist: table_name: "sfmta"

我也尝试过指定不同的表名,如“default:sfmta”、“default::sfmta”,结果相同。你能告诉我为什么会这样吗?为什么我无法访问 kudu 表?这是用黑斑羚创建的吗?

提前致谢。

4

3 回答 3

2

如果您创建一个数据库(而不是“默认”),该表应该是,

impala:database_name.table_name

于 2017-08-04T06:56:16.247 回答
2

最后在向 kudu 邮件用户组询问后,我找到了这个问题的答案。

http://quickstart.cloudera:8051/tables检查表名后,我可以看到我想查询的表的全名,而不是使用“sfmta”,我应该使用“impala::default.sfmta”,如以下句子:

val df = spark.sqlContext.read.options(Map("kudu.master" -> "quickstart.cloudera:7051","kudu.table" -> "impala::default.sfmta")).kudu

因此,在替换表名后它起作用了。

于 2017-05-29T15:11:31.223 回答
0

可能是威尔的答案包含错误。更正一项(2 个冒号):

impala::database_name.table_name

对于默认数据库:

impala::default.table_name

它使用 CDH 5.1X 和 Spark 1.6.X 进行了测试。我希望这会节省你的时间。

于 2019-08-20T10:45:05.603 回答