2016-11-08 4 views
0

StructType이 Spark의 객체이고 igniteRDD.saveValues ​​(df.rdd())를 사용하여 값을 푸시 한 setIndexedTypes (Long.class, StructType.class)와 함께 CacheConfiguration을 사용하고 있습니다. 하지만 그 캐시에 쿼리하려고하면 "사용 CacheConfiguration에 setIndexedTypes 또는 setTypeMetadata 메서드를 사용". POJO에서 querysqlfields를 사용하여 필드에 주석을다는 것을 알고 있지만 값은 Spark 객체입니다. 어떻게하면이 작업을 수행 할 수 있습니다.RDD 점화를 쿼리하는 방법은 무엇입니까?

+0

'StructType'을 어떻게 쿼리 하시겠습니까? 이것은 나에게 틀린 것처럼 보입니다. 전체 테스트를 작은 GitHub 프로젝트로 제공 할 수 있습니까? 나는이 방법으로 피드백을 제공 할 수있을 것이다. –

+0

@Valentin RDD를 켜고 내부에 마루 데이터를 처리하려고합니다. 나는 이것을 따르고있다. (예 : https://github.com/erasmas/ignite-playground/tree/master/src/main/java/ignite). RDD를 점화하는 내부 데이터를 섭취 할 수 있습니다 (바이저 콘솔을 점등). – user2784095

+0

이 예제는 쿼리를 수행하지 않습니다. 나는 대답했다. –

답변

0

StructType 클래스가 Ignite SQL에 대해 아무것도 모르기 때문에 이것은 작동하지 않습니다. 고유 한 키 및 값 클래스를 만들고 로딩하는 동안 각 StructType 인스턴스를 키 - 값 쌍으로 변환해야합니다 (savePairs 메서드 사용). 그런 다음 여기에 설명 된대로 SQL을 구성 할 수 있습니다. https://apacheignite.readme.io/docs/sql-queries

+0

내 나쁜 실제로 IgniteContext에서 IgniteRDD 가져 오는 및 해당 cacheConfiguration 관련된 (RDD 스키마를 저장하는 cacheConfiguration 사용하고 있습니다). IgniteRDD에는 주로 savePairs 및 saveValues와 같은 두 가지 방법이 있습니다. 둘 다 RDD 객체가 필요합니다. 스파크 DataFrame 개체에서 RDD 개체를 가져오고 있습니다. 이 RDD (DataFrame.rdd()에서 오는) SQL을 ignite에 호환되게하려면 어떻게해야합니까? 이 [예제] (https://github.com/erasmas/ignite-playground/blob/master/src/main/java/ignite/CachedRddExample.java)를 살펴보십시오. – user2784095

+0

Ignite SQL에 맞게 올바르게 구성되어있는 고유 한 데이터 유형을 만들어야하며 원래 RDD를 매핑해야 구조체가이 유형으로 변환 된 다음 Ignite에 데이터를 저장할 수 있습니다. –

+0

우리는 어떻게 rdd (쪽모 세공에서 생성)를 자신의 데이터 유형 (자바 객체가 잘못 됐는지)으로 매핑 할 수 있습니다. 그것을위한 예제 자바 코드를 제공 할 수 있습니까? – user2784095

관련 문제