[HADOOP] nifi ConvertRecord JSON에서 CSV로 단일 레코드 만 얻으시겠습니까?
HADOOPnifi ConvertRecord JSON에서 CSV로 단일 레코드 만 얻으시겠습니까?
아래의 흐름을 json 데이터를 읽고 convertRecord 프로세서를 사용하여 CSV로 변환하도록 설정했습니다. 그러나 출력 흐름 파일은 모든 레코드 대신 단일 레코드로 채워집니다 (첫 번째 레코드 만 가정 함).
누군가가 올바른 구성을 제공 할 수 있습니까?
소스 json 데이터 :
{"creation_Date": "2018-08-19", "Hour_of_day": 7, "log_count": 2136}
{"creation_Date": "2018-08-19", "Hour_of_day": 17, "log_count": 606}
{"creation_Date": "2018-08-19", "Hour_of_day": 14, "log_count": 1328}
{"creation_Date": "2018-08-19", "Hour_of_day": 20, "log_count": 363}
흐름:
ConvertRecord 프로세서 구성 :
JsonTreeReader 컨트롤러 설정 :
CSVrecordsetWriter 컨트롤러 구성 :
AvroSchemaRegistry 컨트롤러 설정 :
{
"type": "record",
"name": "demo_schema",
"fields":
[
{ "name": "creation_Date", "type": "string"},
{ "name": "Hour_of_day", "type": "string"},
{ "name": "log_count", "type": "string"}
]
}
내가 얻는 흐름 파일 내용 :
creation_Date,Hour_of_day,log_count
2018-08-16,0,3278
내가 필요한 것:
creation_Date,Hour_of_day,log_count
2018-08-16,0,3278
2018-08-17,4,278
2018-08-18,10,6723
희망을 나는 상황을 설명하기 위해 정교한 사람이 전체 데이터를 얻을 수 있도록 구성을 수정하는 데 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
해결법
-
==============================
1.이 NIFI-4456 버그를 직면하고 있으며 NiFi-1.7 버전부터 수정되었습니다.
이 NIFI-4456 버그를 직면하고 있으며 NiFi-1.7 버전부터 수정되었습니다.
분할 선 개수 = 1 인 SplitText 프로세서 사용
MergeContent / MergeRecord 프로세서 (Defragments를 병합 전략으로 사용)를 사용하고 메시지의 유효한 json 배열로 만듭니다.
병합 레코드 프로세서와 리더 및 라이터 컨트롤러를 사용하는 경우 서비스는 Json 형식이어야합니다.
ConvertRecord 가공업 자에 합병 한 관계를 공급하십시오.
흐름:
NiFi-1.7 + 버전부터는 NiFi가 회선 형식 당 json을 읽을 수 있으므로 JsonTreeReader 컨트롤러 서비스에서 새로운 / 추가 항목을 구성 할 필요가 없습니다.
최신 정보:
MergeContent 구성 :
MergeContent 프로세서를 사용하는 경우 아래 스크린 샷과 같이 프로세서를 이와 같이 구성하십시오.
또한 MergeContent 프로세서 대신 MergeRecord 프로세서를 사용하여 유효한 json 메시지 배열을 만드는 것이 좋습니다.
from https://stackoverflow.com/questions/51956767/nifi-convertrecord-json-to-csv-getting-only-single-record by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] thread "main"예외 java.lang.UnsupportedClassVersionError, 지원되지 않는 major.minor 버전 52.0 (0) | 2019.07.15 |
---|---|
[HADOOP] 그라디언트 종속성 캐시의 jar 파일 경로를 얻는 가장 간단한 방법 (0) | 2019.07.15 |
[HADOOP] hadoop의 작업 클라이언트가 inputSplits를 계산하는 방법 (0) | 2019.07.15 |
[HADOOP] EMR- 자동 조절이 필요합니까? EC2 만 사용해야합니까? Qubole을 사용해야할까요? (0) | 2019.07.15 |
[HADOOP] 하이브 실행 훅 (0) | 2019.07.15 |