这个问题在这里已经有答案了:
如何创建具有配置单元支持的sparksession(因“未找到配置单元类”而失败)(10个答案)
9个月前关门了。
我有以下设置:-hdfs-hive-remote-hive-metastore(和一个metastoredb)-apachespark(从https://archive.apache.org/dist/spark/spark-2.4.3/)
我可以按预期使用配置单元,创建表-从HDF读取数据等等。但是,不能让spark在Hive支持下运行。每当我跑的时候 val sparkSession = SparkSession.builder().appName("MyApp").enableHiveSupport().getOrCreate()
我明白了 java.lang.IllegalArgumentException: Unable to instantiate SparkSession with Hive support because Hive classes are not found.
配置单元类在路径中,我复制了hive-site.xml、core-site.xml和hdfs-site.xml
我是否需要使用配置单元支持构建spark(如此处所述:https://spark.apache.org/docs/latest/building-spark.html#building-有了hive和jdbc支持)才能让spark使用hive?
有没有一个与Hive支持焦油可用的Spark,我可以提取,而不是从源代码建设?
谢谢!
1条答案
按热度按时间cqoc49vn1#
你在什么环境下跑步?简单的答案是让任何可用的 Package 工具来完成所有的繁重工作。例如,如果您在osx上,请使用brew安装所有内容。如果你在一个maven/sbt项目中,带上spark-hive包,等等。
我需要建立与Hive支持Spark
如果你是从源代码手动构建spark是的。下面是一个命令示例(但很可能你不必这么做)
./build/mvn-pyarn-phive-phive-thriftserver-dskiptests干净包
http://spark.apache.org/docs/latest/building-spark.html#building-支持hive和jdbc
如果缺少类,spark将在内部检查hive-exec-1.2.1.spark.jar中是否存在“org.apache.hadoop.hive.conf.hiveconf”。请注意,这是一个定制版本的Hive设计与Spark很好地工作。
https://mvnrepository.com/artifact/org.spark-project.hive/hive-exec/1.2.1.spark