2016-09-28 2 views
1

나는 불꽃을 사용하고있다 1.6. 나는에 의해 나의 불꽃-SQL 자바 코드의 테이블에 연결하려고응용 프로그램에서 SQLContext를 사용하여 하이브 테이블에 대해 SQL을 실행하는 데 실패합니다 (하지만 spark-shell의 동일한 쿼리가 정상적으로 작동합니까?).

는 :

JavaSparkContext js = new JavaSparkContext(); 
SQLContext sc = new SQLContext(js); 

DataFrame mainFile = sc.sql("Select * from db.table"); 

그것은 나에게 표를 찾을 수 없습니다 예외를 제공합니다.

그러나 스칼라를 사용하여 스파크 셸에서 작업 할 때 테이블이 액세스되고 데이터도 인쇄 할 수 있습니다.

이 문제에 대한 의견이 있으십니까?

답변

3

스파크 - 쉘은 HiveContext를 제공합니다. Java 코드에서 HiveContext를 사용하려면 응용 프로그램에서 종속성을 추가 한 다음 Java 프로그램에서 사용하십시오. 참조하시기 바랍니다 http://spark.apache.org/docs/1.6.2/sql-programming-guide.html#hive-tables

<dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-hive_2.10</artifactId> 
     <version>1.6.2</version> 
</dependency>