我正在做一件非常愚蠢的事情,并尝试从头开始安装 Yarn/Hive/Spark/R 平台,而不是使用 Hortonworks 或 Cloudera。我已经解决了很多问题,但一直在尝试让我的 Sparklyr 连接到我的 Hive 仓库。
我在一台计算机上使用 Rstudio,并连接到位于单独集群上的 yarn-client
。我已经将 hive-site.xml
放在几乎所有地方,本地 $SPARK_HOME/conf
和每个 hadoop 节点的 $SPARK_HOME/conf
> 和 $HADOOP_CONF_DIR
。在 hive-site.xml
中,我包含了参数:
<property>
<name>spark.sql.warehouse.dir</name>
<value>hdfs://<driver node>/user/hive/warehouse/</value>
<description>The loation of the hive warehouse</description>
</property>
我觉得这应该可以清楚地表明我正在尝试使用配置单元,但是当我运行此代码时:
DBI::dbGetQuery(sc, "CREATE DATABASE test")
DBI::dbGetQuery(sc, "use test")
iris_spark_table <- copy_to(sc, iris, overwrite = TRUE)
sdf_copy_to(sc, iris_spark_table)
DBI::dbGetQuery(sc, "create table iris_hive as SELECT * FROM iris_spark_table")
我收到此错误:
org.apache.hadoop.hive.ql.metadata.HiveException:
java.io.IOException:
Mkdirs failed to create file:/<my-r-code's-working-dir>/spark-warehouse/test.db/iris_hive/.hive-staging_hive_2018-08-05_14-18-58_646_6160231583951115949-1/-ext-10000/_temporary/0/_temporary/attempt_20180805141859_0013_m_000000_3
(exists=false, cwd=file:/tmp/hadoop-hadoop/nm-local-dir/usercache/dzafar/appcache/application_1533357216333_0015/container_1533357216333_0015_01_000002)
我错过了什么???提前致谢!!!
最佳答案
首先,Spark 特定属性应放置在 Spark 配置文件中。这意味着你应该放
spark.sql.warehouse.dir
在$SPARK_HOME/conf/spark-defaults.conf
此外,您可能会遇到搜索路径中不存在 hdfs-site.xml
的问题。
关于apache-spark - Sparklyr 未连接到我的 Hive 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51697549/