2014-12-02 4 views
1

SQL 함수를 기반으로하는 언어 통합 SQL을 사용하여 schemaRDD를 필터링하려고합니다. 예를 들어 나는 어떻게 people.where 이러한 SQL 기능을 사용할 수 있습니다통합 된 언어를 사용하여 schemaRDD가있는 SQL 함수

SELECT name FROM people WHERE name LIKE '%AHSAN%' AND name regexp '^[A-Z]{20}$' 

를 실행하려면()?

참조 :

언어 통합 SQL 들어, 내가 here 주어진 다음 예제입니다.

val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
import sqlContext._ 
val people: RDD[Person] = ... // An RDD of case class objects, from the first example. 
// The following is the same as 'SELECT name FROM people WHERE age >= 10 AND age <= 19' 
val teenagers = people.where('age >= 10).where('age <= 19).select('name) 
teenagers.map(t => "Name: " + t(0)).collect().foreach(println) 

미리 감사드립니다.

답변

0

숫자 연산자와 같은 SQL 함수를 사용할 수 있습니다. 예를 들어,

people.where('name like "%AHSAN%").where('name rlike "^[A-Z]{20}$").select('name) 

는 스파크 SQL에는 regexp 없다하지만 rlike과 동일합니다.