복붙노트

[HADOOP] Spark의 Hive 2.1.1-사용해야하는 Spark 버전

HADOOP

Spark의 Hive 2.1.1-사용해야하는 Spark 버전

우분투 16.04에서 하이브 2.1.1, hadoop 2.7.3을 실행 중입니다.

Hive on Spark : Getting Started에 따르면

pom.xml을 확인했는데 spark 버전이 1.6.0임을 보여줍니다.

<spark.version>1.6.0</spark.version>

그러나 Hive on Spark : Getting Started는 또한

그래서 나는 hadoop 2.7.3을 실행하고 있기 때문에 혼란스러워합니다. 하둡을 2.4로 다운 그레이드해야합니까?

어떤 버전의 Spark를 사용해야합니까? 1.6.0 또는 2.0.0?

고맙습니다!

해결법

  1. ==============================

    1.현재 hadoop 2.7.3 및 hive 2.1과 함께 spark 2.0.2를 사용하고 있으며 정상적으로 작동합니다. 그리고 hive가 spark 1.6.x 및 2.x 버전을 모두 지원한다고 생각하지만 최신 버전이므로 spark 2.x를 사용하는 것이 좋습니다.

    현재 hadoop 2.7.3 및 hive 2.1과 함께 spark 2.0.2를 사용하고 있으며 정상적으로 작동합니다. 그리고 hive가 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와 Apache Spark 2

  2. ==============================

    2.Spark 2.X의 현재 버전은 Hive 2.1 및 Hadoop 2.7과 호환되지 않으며 주요 버그가 있습니다.

    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" 
    

    스칼라 2.10.5

  3. from https://stackoverflow.com/questions/42281174/hive-2-1-1-on-spark-which-version-of-spark-should-i-use by cc-by-sa and MIT license