我在Ubuntu 16.04上运行 hive 2.1.1 ,hadoop 2.7.3 .
根据Hive on Spark: Getting Started,它说
安装/构建兼容版本 . Hive root pom.xml定义了它构建/测试的Spark版本 .
我检查了pom.xml,它显示spark版本是1.6.0 .
<spark.version>1.6.0</spark.version>
但Hive on Spark: Getting Started也说过
在Spark 2.0.0之前:./ make -distribution.sh --name“hadoop2-without-hive”--tgz“-Pyarn,hadoop-provided,hadoop-2.4,parquet-provided”自Spark 2.0.0开始: ./dev/make-distribution.sh --name“hadoop2-without-hive”--tgz“-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided”
所以现在我很困惑,因为我正在运行hadoop 2.7.3 . 我必须将我的hadoop降级到2.4吗?
Which version of Spark should I use? 1.6.0 or 2.0.0?
谢谢!
2 回答
我目前正在使用带有hadoop 2.7.3和hive 2.1的spark 2.0.2,它工作正常 . 我认为蜂巢将支持spark 1.6.x和2.x两个版本,但我建议你使用spark 2.x,因为它是最新版本 .
为什么要使用spark 2.x https://docs.cloud.databricks.com/docs/latest/sample_applications/04%20Apache%20Spark%202.0%20Examples/03%20Performance%20Apache%20(Spark%202.0%20vs%201.6).html的一些动机链接
Apache Spark vs Apache Spark 2
当前版本的Spark 2.X与Hive 2.1和Hadoop 2.7不兼容,存在一个主要错误:
JavaSparkListener不可用,Hive在执行时崩溃
https://issues.apache.org/jira/browse/SPARK-17563
您可以尝试使用Hadoop 2.7和Spark 1.6构建Hive 2.1:
如果您在2.0之后查看命令,区别在于./make-distribution位于文件夹/ dev中 .
如果它对hadoop 2.7.X不起作用,我可以通过以下方式确认您已经能够使用Hadoop 2.6成功构建它:
对于scala 2.10.5