복붙노트

[HADOOP] 아파치 Giraph 복잡한 값으로 정점

HADOOP

아파치 Giraph 복잡한 값으로 정점

내가 Giraph에 관련 정점 정보가 포함 된 텍스트 파일을 읽기 위해 노력하고 각 행은

vertex_id attribute_1 attribute_2 ..... attribute_n

여기서 각 속성은 문자열입니다.

목표는 모든 속성은 정점의 값의 일부 정점을 생성하는 것입니다.

나는 상자 밖으로 아무것도 찾을 수있는 다양한 입력 형식을 찾고, 그래서 내가 VertexValueInputFormat에서 내 정점 입력 클래스를 파생 할 수 있다고 가정합니다 (I 가장자리에 대해 별도의 판독기가).

문제는 어떻게? 내가하는 String [] 배열을 포함하는 값 클래스를 만들었습니다,하지만 난 Giraph / 하둡에 어떻게 넘겨합니까? 여기에 한 줄의 독자는 다음과 같습니다

https://giraph.apache.org/giraph-core/apidocs/org/apache/giraph/io/formats/TextVertexValueInputFormat.TextVertexValueReaderFromEachLine.html

보호 된 추상적 인 V getValue (org.apache.hadoop.io.Text 라인)

생각은 V는 ArrayWritable 될 것입니다,하지만 그것을 좋아하지 않는 것 같습니다.

어떤 단서? 감사

해결법

  1. ==============================

    1.정점은 (문자열의 귀하의 경우 배열) 사용자 정의 값이있는 경우, 사용자 정의 정점 값 클래스 및 사용자 정의 정점 입력 형식이 필요합니다. 예를 들어, 매우 간단한 사용자 정의 정점 클래스를보십시오. 이 클래스는 두 값의 int, 긴 있습니다 https://gist.github.com/sar-vivek/df09cca17cc3f6b5ac60 주 - 당신은 무시 readFields의 () 따라) (작성해야합니다.

    정점은 (문자열의 귀하의 경우 배열) 사용자 정의 값이있는 경우, 사용자 정의 정점 값 클래스 및 사용자 정의 정점 입력 형식이 필요합니다. 예를 들어, 매우 간단한 사용자 정의 정점 클래스를보십시오. 이 클래스는 두 값의 int, 긴 있습니다 https://gist.github.com/sar-vivek/df09cca17cc3f6b5ac60 주 - 당신은 무시 readFields의 () 따라) (작성해야합니다.

    그런 다음 사용자 정의 정점 입력 형식이 필요합니다. 위의 정점 클래스의 경우, I는 내장 JSON 정점 독자에게 조금 수정했습니다. https://gist.github.com/sar-vivek/f39edacec6d9a43c3717 [정점의 값은 라인 (68)에 설정하는 방법을 공지] - 여기의 예이다.

  2. from https://stackoverflow.com/questions/24800957/vertices-with-complex-values-in-apache-giraph by cc-by-sa and MIT license