使用 Sparklyr 时未显示 Hive table
Hive table is not shown when using Sparklyr
我正在尝试复制 this tutorial from RStudio website
当我将数据加载到 Hive 时,我可以在 Hive 命令行 运行 show tables
或 select count(*) from airlines
,我将得到正确的响应。但是在本教程的后面,当我安装 sparklyr
并使用下面的命令连接到数据时,没有 table 显示在 RStudio 的“连接”选项卡中。
sc <- spark_connect(master = "yarn-client", config = config, version = '2.4.4')
此外,令人惊讶的是,当我 运行 hive_context(sc) %>% invoke('sql', 'show tables') %>% collect()
我没有得到 table 回复;就好像 Spark 正在连接到不同的 Hive 实例。
举个例子,如果我运行下面的命令添加一个table到Hive数据库,它会显示在Connections选项卡上,当我[=36]时它会被列出=] show tables
作为 SQL 命令。
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;
它不会显示虹膜 table.
如何让 Spark 连接到 Hive 的 "right" 实例?
您使用的是哪个环境?对于 sparklyr 1.0.4+,如果你在 hadoop 2 上 运行,你需要手动设置 spark sql 目录实现。6x.You 可以尝试添加 spark.sql.catalogImplementation: "hive"
.
您的代码最终可能如下所示:
config <- spark_config()
config$spark.sql.catalogImplementation <- "hive"
sc <- spark_cconnect(master="yarn", config=config, version=...)
我正在尝试复制 this tutorial from RStudio website
当我将数据加载到 Hive 时,我可以在 Hive 命令行 运行 show tables
或 select count(*) from airlines
,我将得到正确的响应。但是在本教程的后面,当我安装 sparklyr
并使用下面的命令连接到数据时,没有 table 显示在 RStudio 的“连接”选项卡中。
sc <- spark_connect(master = "yarn-client", config = config, version = '2.4.4')
此外,令人惊讶的是,当我 运行 hive_context(sc) %>% invoke('sql', 'show tables') %>% collect()
我没有得到 table 回复;就好像 Spark 正在连接到不同的 Hive 实例。
举个例子,如果我运行下面的命令添加一个table到Hive数据库,它会显示在Connections选项卡上,当我[=36]时它会被列出=] show tables
作为 SQL 命令。
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;
它不会显示虹膜 table.
如何让 Spark 连接到 Hive 的 "right" 实例?
您使用的是哪个环境?对于 sparklyr 1.0.4+,如果你在 hadoop 2 上 运行,你需要手动设置 spark sql 目录实现。6x.You 可以尝试添加 spark.sql.catalogImplementation: "hive"
.
您的代码最终可能如下所示:
config <- spark_config()
config$spark.sql.catalogImplementation <- "hive"
sc <- spark_cconnect(master="yarn", config=config, version=...)