2016-09-20 5 views
0

Spark 2.0.0에서, 테이블 A를 계속 사용하여 다른 테이블과의 조인을하는 데이터베이스가 있다면 테이블 A를 유지하고 조인을해야합니까? 아니면 A와 B, A와 C 등의 조인 쿼리를 지정하는 Spark SQL 접근법을 사용해야합니까?Spark SQL을 사용하여 데이터를 쿼리하는 가장 좋은 방법은 무엇입니까?

그리고 내가 사용하는 테이블 Z를 여러 번 조회 할 경우 어디 조건, 즉

SELECT * FROM Z where z_id = '1' 

SELECT * FROM Z where z_id = '2' 

내가 스파크 SQL을 사용하여 명시 적으로는 그것을 쿼리 또는 쿼리할까요 테이블과 RDD 테이블에 행동?

+0

rdd 또는 데이터 프레임을 두 번 이상 사용하는 경우 persist()를 사용하는 것이 좋습니다. 물어보기 전에 시도해야합니다! – GwydionFR

답변

0

여러 가지 작업을 수행 할 수 있습니다. 필터를 여러 번 사용할 경우 다음과 같이 사용하십시오.

**df=sqlContext.sql('''select * from Z ''') 
df.registerTempTable('Z_temp') 
sqlContext.cacheTable('Z_temp')** 

매개 변수없이 출력하고 캐시는 메모리에 데이터를 저장/저장합니다.

표에서 여러 필터를 사용하는 경우 spark.sql.parquet.filter pushdown = True를 사용해야합니다.

관련 문제