1
我在本地安裝了Apache Hive,並試圖通過Rstudio/sparklyr讀取表。sparklyr看不到在Hive中創建的數據庫,反之亦然
我創建使用蜂巢數據庫:
hive> CREATE DATABASE test;
,我試圖用下列R-腳本讀取數據庫:
library(sparklyr)
library(dplyr)
library(DBI)
spark_disconnect_all()
Sys.setenv(SPARK_HOME = "/home/alessandro/spark-2.1.0-bin-hadoop2.7")
config <- spark_config()
config$spark.executor.instances <- 4
config$spark.executor.cores <- 4
config$spark.executor.memory <- "4G"
config$spark.sql.hive.metastore <- "/home/alessandro/spark-warehouse"
config$hive.metastore.warehouse.dir <- "/home/alessandro/spark-warehouse"
sc <- spark_connect(master="local", config=config, version="2.1.0")
dbGetQuery(sc, "show databases")
儘管如此,dbGetQuery(sc, "show databases")
不顯示創建的數據庫,並這是因爲數據庫文件夾test.db被正確放置在指定的hive.metastore.warehouse.dir
中。
同樣,如果我創建使用dbGetQuery(SC, 「CREATE DATABASE TEST2」)的數據庫,一個數據庫文件夾在hive.metastore.warehouse.dir
創建,但通過配置單元使用I無法看到它:
hive> show databases;
基本上,即使所有數據庫文件夾都放置在正確的路徑中,從Hive中我只能看到通過Hive創建的數據庫,而從RI只能看到通過R創建的數據庫。