2016-07-11 3 views
0

제 지식에 따르면 Spark는 SQL을 두 가지 다른 구문으로 사용할 수 있습니다.Apache Spark - SQL을 사용하는 가장 빠른 방법은 무엇입니까?

첫번째는, 예를 들면, .sql() 함수를 사용하는 것이다

DataFrame df = sqlContext.read().parquet("../loc/of/this"); 
df.registerTempTable("this") 
DataFrame people = sqlContext.sql("SELECT * FROM this GROUP BY that") 

다른 하나는 다음

DataFrame people = sqlContext.read.parquet("../loc/of/this") 
people.groupBy("that") 

둘 사이의 차이는 무엇인가? 성능에 영향이 있습니까? 감사합니다. 내 경험에 대한

답변

1

, 두 가지 방법이 구문 분석 또는 SQL 쿼리 문자열을 분석해야 할 첫 번째, 불꽃 엔진에있을 수 있습니다, 동일한 성능을 가지고 있지만 나는 그것이

+0

그것을합니까 스파크 작업을 줄일 수있는 문제가 아니다 생각 임시 테이블을 등록하기 위해 스토리지 또는 계산 능력을 사용합니까? –

+0

내 의견으로는 registerTempTable은 SparkSQL에서 데이터 프레임의 이름을 지정하는 방법이지만 다른 형식으로 데이터를 쓰지는 않으므로 차이는 없습니다 –

관련 문제