我下载了apachekudu的quickstart vm,并按照本页中的示例进行了操作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表?这是和 Impala 一起创造的吗?
提前谢谢。
3条答案
按热度按时间2cmtqfgy1#
最后在向Kudu邮件用户群提问后我找到了这个问题的答案。
在检查表名之后http://quickstart.cloudera:8051/tables我可以看到要查询的表的全名,我应该使用“impala::default.sfmta”而不是使用“sfmta”,如下所示:
所以在替换表名之后,它就工作了。
bqujaahr2#
可能威尔的答案有误。正确的一个(2个冒号):
对于默认数据库:
用cdh5.1x和spark1.6.x测试。我希望这能节省你的时间。
w8ntj3qf3#
如果您创建了一个数据库(而不是“default”),那么表应该是,
impala:database_name.table_name