복붙노트

[HADOOP] org.apache.hadoop.hive.ql.metadata.Hive.loadDynamicPartitions 예외 스파크 하이브 분할 테이블을 작성 (2.11) dataframe

HADOOP

org.apache.hadoop.hive.ql.metadata.Hive.loadDynamicPartitions 예외 스파크 하이브 분할 테이블을 작성 (2.11) dataframe

나는 나의 유스 케이스는 사용하여 하이브 파티션 테이블에 스파크 dataframe를 작성하는이 이상한 동작입니다했다

sqlContext.sql("INSERT OVERWRITE TABLE <table> PARTITION (<partition column) SELECT * FROM <temp table from dataframe>") 

이상한 점은 호스트 A에서 pyspark 쉘을 사용하지만, jupyter 노트북에서 작동하지 않습니다 같은 하이브 테이블을 사용하여, 동일한 클러스터에 연결 똑같은 코드, 그것은 반환 할 때이 작품입니다 :

java.lang.NoSuchMethodException: org.apache.hadoop.hive.ql.metadata.Hive.loadDynamicPartitions 

예외는 그래서 내 질문은 내가 무관 pyspark 쉘에서 사용되는 해당 항아리의 버전을 확인한에서 할 수있는 방법이며, pyspark 쉘이 시작됩니다 호스트 사이에 항아리 불일치 및 jupyter이 실행되는 호스트로 나에게 보인다 코드에 의해 jupyter 노트북 (나는 jupyter 서버에 액세스 할 수 없습니다)? pyspark 쉘 및 jupyter 모두 동일한 클러스터에 연결하는 경우 왜이 별개의 버전은 사용중인 수 있습니까?

업데이트 : 내가 jupyter 발견 된 일부 연구는 "리비 (Livy)"를 사용하고 Livy의 호스트는 하이브 간부-2.0.1.jar, 우리는 pyspark 쉘은 하이브 - 간부 - 1.2.1000.2.5.3.58-3.jar를 사용하여 사용하는 호스트를 사용 후 그래서 내가 loadDynamicPartitions 방법 모두에 존재 입력해도 누락 방법 서명 (파라미터) Livy의 버전 부울 holdDDLTime 파라미터에서 다르다는 것을 발견 받는다는 저장소로부터 모두 항아리 다운로드들을 디 컴파일.

해결법

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

    1.나는 비슷한 문제가 클라우 데라에서 받는다는 종속성을 얻을 시도했다

    나는 비슷한 문제가 클라우 데라에서 받는다는 종속성을 얻을 시도했다

     <dependencies>
        <!-- Scala and Spark dependencies -->
    
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.6.0-cdh5.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.10</artifactId>
            <version>1.6.0-cdh5.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>1.6.0-cdh5.9.2</version>
        </dependency>
         <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>1.1.0-cdh5.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.scalatest</groupId>
            <artifactId>scalatest_2.10</artifactId>
            <version>3.0.0-SNAP4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.10</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>com.databricks</groupId>
            <artifactId>spark-csv_2.10</artifactId>
            <version>1.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.databricks</groupId>
            <artifactId>spark-xml_2.10</artifactId>
            <version>0.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk</artifactId>
            <version>1.0.12</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>1.11.172</version>
        </dependency>
        <dependency>
            <groupId>com.github.scopt</groupId>
            <artifactId>scopt_2.10</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>maven-hadoop</id>
            <name>Hadoop Releases</name>
            <url>https://repository.cloudera.com/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>cloudera-repos</id>
            <name>Cloudera Repos</name>
            <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
    </repositories>
    
  2. from https://stackoverflow.com/questions/46124389/org-apache-hadoop-hive-ql-metadata-hive-loaddynamicpartitions-exception-when-wri by cc-by-sa and MIT license