2015-01-19 3 views
2

spark-sql을 독립 실행 형 모드로 완벽하게 실행할 수 있지만 원사 모드에 관해서는 spark가 하이브 클래스를 찾을 수 없다고 말했습니다 org/apache/hadoop/hive/ql/plan/TableDesc와 같은).cdh5.3 클래스가있는 원사에 spark sql 실행되지 않음

그래서 하이브 라이브러리를 compute-classpath.sh에 추가했습니다. 실패한. 그럼 원사가 작동하지 않고 독립형이 잘 작동한다고 생각했습니다. 어쩌면 내가 hive lib 포함하는 원사 클래스 경로를 변경해야합니다.

나는 다시 실패했다.

나는 하이브 라이브러리가 내 실 시작 로그와 스파크 출력에서 ​​발생한다는 것을 이해하지 못한다. 왜 내 하이브 SQL에서 기본 하이브 클래스를 찾을 수 없다고했는지?

덕분에 모두 나를 도왔습니다

+0

가 하이브 : - 당신의 집행에? ('--jars'를'spark-submit'과 함께 사용합니까?) -'SparkContext'에? (당신의'SparkConfig'를 어떻게 만드나요?) – huitseeker

+0

하이브는 제 모든 컴퓨터에 있습니다. 그리고 hive lib 디렉토리를 compute-classpath.sh에 추가합니다. 그래서 spark-submit이이 jar를 사용할 것이라고 생각합니다. 나는 SparkConfig 빌드와 혼동합니다. 나는 원래의 spark conf 디렉토리를 cdh5.3의 spark 디렉토리에 복사합니다 .BTW, cdh5.3 spark wouldnt는 내가 처음 압축을 풀 때 작동합니다. bin 디렉토리에서 shell scrpits로 몇가지 코드를 변경해야합니다. ur advice에 대해 유감스럽게 생각합니다. 그리고 spark-submit 옵션을 시도 할 것입니다. – amow

+0

난 그냥 소스에서 내 스파크를 구축하고 그것이 작동했습니다. 왜 cdh5.3 tgz가 실패 했나요? thx – amow

답변

1

이 시도/spark.executor.extraClassPath =/옵션/클라우 데라/소포를 추가 CDH/lib 디렉토리/하이브/lib 디렉토리/*

+0

정확히 OP와 같은 문제가 있었는데 이것은 트릭을 한 것으로 보인다. '--conf spark.executor.extraClassPath =/opt/cloudera/parcels/CDH/lib/hive/lib/*'를'spark-submit' 호출에 추가하면됩니다! –