2016-10-26 3 views
0

키와 값이 모두 포함 된 IgniteRDD에 BinaryObject로 저장된 일부 Spark 데이터 세트와 아래에서 % Ignite 인터프리터 샘플을 사용하여 Ignite 코드를 사용하여 다시 쿼리 할 수 ​​있습니다. . 내가 %의 ignite.ignitesql 인터프리터와 같은 쿼리 할 때withkeepBinary를 zeppelin의 % ignite.ignitesql 인터프리터에서 사용하는 방법

%ignite 
import org.apache.ignite._ 
import org.apache.ignite.binary._ 
import org.apache.ignite.cache.query._ 
import org.apache.ignite.configuration._ 
import scala.collection.JavaConversions._ 

val cache: IgniteCache[BinaryObject, BinaryObject] = ignite.cache("test123") 

val qry = new SqlFieldsQuery(
"select _val from testValue", 
true) 
val res = cache.withKeepBinary().query(qry).getAll() 

collectionAsScalaIterable(res).foreach(println _) 

는 그러나

이 실패
%ignite.ignitesql 
select * from testValue 

: 나에게 "ID에 대한 실패 해결 클래스 -1422444403"

는 차이를 보인다 두 가지 방법 중 첫 번째는 KeepBinary()로 지정했습니다. % ignite.ignitesql에서 SQL을 직접 사용할 수있는 방법이 비슷합니다.

답변

0

이것은 불가능합니다. 이제 f에 대한 티켓을 만들었습니다. IX이 :

그러나 어떤 경우에, 나는 점화로 작업 할 때 결과 세트가 전체 개체를 대표하는 미리 정의 된 _key_val 필드를 포함하기 때문에, select * 쿼리를 피하기 위해 추천 할 것입니다 https://issues.apache.org/jira/browse/IGNITE-4141. 결과 집합에 필요한 필드를 명시 적으로 나열하여 필요없는 데이터를 가져 오지 않는 것이 좋습니다.