2017-12-16 6 views
0

java newbie 여기에 있습니다. 내 Apache Beam 파이프 라인에서 ParseJsons을 사용하여 문자열 PCollection을 객체 PCollection으로 구문 분석하는 방법을 이해하는 데 어려움을 겪고 있습니다.Apache Beam/Google Dataflow에서 ParseJsons를 사용하는 방법?

제 생각에 json 구조와 일치하는 클래스를 먼저 정의한 다음 ParseJsons를 사용하여 json 문자열을 해당 클래스의 개체로 매핑해야합니다.

그러나 ParseJsons 설명서는 나에게 숨겨진 것 같습니다. Apache Beam을 사용하여 실제로 변환을 수행하는 방법을 모르겠습니다. 줄무늬 json 문자열을 구문 분석하는 방법에 대한 빠르고 빠져 좋은 예를 누군가 줄 수 있습니까?

여기 시도 중 하나지만, 불행히도 구문이 올바르지 않습니다.

class Product { 
    private String name = null; 
    private String url = null; 
} 

p.apply("ReadLines", TextIO.read().from(options.getInputFile())) 
.apply(new ParseJsons.of(Product)) 
.apply("WriteCounts", TextIO.write().to(options.getOutput())); 
+0

는 항상 당신이 얻고있는 전체 오류 메시지를 기입하십시오. – jkff

답변

0

난 당신이 원하는 생각 :

PCollectoion<Product> = 
    p.apply("ReadLines", TextIO.read().from(options.getInputFile())) 
    .apply(new ParseJsons.of(Product.class)) 
    .setCoder(SerializableCoder.of(MyPojo.class));