SparkR SQL - Функция Windows против выхода MacOS: ошибка, связанная с включением Hive Windows - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь создавать запросы, используя библиотеку SparkR - SQL, но, хотя я использовал тот же тип кода, я обнаружил, что в MacOS он работает и возвращает правильный результат запроса, в то время как с Windows он возвращает следующую ошибку.

Ниже я сообщаю как запрос, так и вывод MacOS / Windows

Запрос из R-Studio

#SETTING ENVIRONMENT VARIABLES#######################################################################

#MacOs
Sys.setenv(SPARK_HOME = "/Users/work/Spark/spark-2.4.5-bin-hadoop2.7")

#Windows
Sys.setenv(SPARK_HOME = "/Users/Andrea/Desktop/spark-2.4.5-bin-hadoop2.7")
Sys.setenv(JAVA_HOME = "/Users/Andrea/Desktop/jre1.8.0_251")
Sys.setenv(HADOOP_HOME = "/Users/Andrea/Desktop/spark-2.4.5-bin-hadoop2.7/tmp/hadoop/bin/winuitls.exe")

#Same code for both Windows and MacOS############################################################

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"))) 
sparkR.session()  
df <- as.DataFrame(iris)
createOrReplaceTempView(df, 'iris2')
collect(sql("SELECT * FROM iris2 LIMIT 5"))

Вывод MacOS

Sepal_Length Sepal_Width Petal_Length Petal_Width Species                     
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa

Windows Вывод

Error in handleErrors(returnStatus, conn) : 
  org.apache.spark.sql.AnalysisException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;
    at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:106)
    at org.apache.spark.sql.hive.HiveExternalCatalog.databaseExists(HiveExternalCatalog.scala:214)
    at org.apache.spark.sql.internal.SharedState.externalCatalog$lzycompute(SharedState.scala:114)
    at org.apache.spark.sql.internal.SharedState.externalCatalog(SharedState.scala:102)
    at org.apache.spark.sql.internal.SharedState.globalTempViewManager$lzycompute(SharedState.scala:141)
    at org.apache.spark.sql.internal.SharedState.globalTempViewManager(SharedState.scala:136)
    at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$2.apply(HiveSessionStateBuilder.scala:55)
    at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$2.apply(HiveSessionStateBuilder.scala:55)
    at org.apache.spark.sql.ca

Как это исправить, чтобы получить правильный результат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...