首页 文章

Spark上的Hive 2.1.1 - 我应该使用哪个版本的Spark

提问于
浏览
2

我在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 回答

  • 0

    我目前正在使用带有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

  • 0

    当前版本的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:

    ./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"
    

    如果您在2.0之后查看命令,区别在于./make-distribution位于文件夹/ dev中 .

    如果它对hadoop 2.7.X不起作用,我可以通过以下方式确认您已经能够使用Hadoop 2.6成功构建它:

    ./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.6,parquet-provided"
    

    对于scala 2.10.5

相关问题