使用Sparklyr时未显示配置单元表

问题描述 投票:3回答:1

我正在尝试复制this tutorial from RStudio website

当我将数据加载到Hive中时,我可以在Hive命令行中运行show tablesselect count(*) from airlines,我将获得正确的响应。但是在本教程的后面,当我安装sparklyr并使用下面的命令连接到数据时,RStudio的“连接”选项卡中未显示任何表。

sc <- spark_connect(master = "yarn-client", config = config, version = '2.4.4')

[而且,令人惊讶的是,当我运行hive_context(sc) %>% invoke('sql', 'show tables') %>% collect()时,我没有得到任何表;好像Spark正在连接到Hive的另一个实例。

例如,如果我运行以下命令将表添加到Hive数据库,它将显示在“连接”选项卡上,并且当我以SQL命令运行show tables时将列出该表。

iris_tbl <- copy_to(sc, iris, "iris", overwrite = TRUE)
hive_context(sc) %>% invoke('sql', 'show tables') %>% collect()
# A tibble: 1 x 3
  database tableName isTemporary
  <chr>    <chr>     <lgl>      
1 NA       iris      TRUE  

但是当我通过终端转到Hive命令行并运行show tables;时,将不会显示虹膜表。

如何告诉Spark连接到Hive的“正确”实例?

r apache-spark hive rstudio sparklyr
1个回答
3
投票

您正在使用哪个环境?对于sparklyr 1.0.4+,如果您在hadoop 2.6x上运行,则需要手动设置spark sql目录实现。您可以尝试添加spark.sql.catalogImplementation: "hive"

© www.soinside.com 2019 - 2024. All rights reserved.