2016-12-19 1 views
1

나는 흐름이 커서 꽤 크다. csv를 취한 다음 avro, json을 통해 SQL 문으로 변환한다. 5GB 파일의 경우 flowfile_repo (처리 중)는 최대 24GB, content_repo는 18GB까지 올라갔습니다.NiFi-1.0 - content_repo & flowfile_repo

  • content_repo 최대 18기가바이트
  • flowfile_repo 최대 26기가바이트

내가 N 파일을 처리하기위한 필요 공간의 양을 예측하는 방법이 있나요? 왜 그렇게 많은 공간이 필요합니까?

답변

3

흐름 파일 repo는 기본적으로 2 분마다 체크 포인트되며 모든 흐름 파일의 상태와 모든 흐름 파일의 속성을 저장합니다. 그래서 2 분 동안 얼마나 많은 플로우 파일과 얼마나 많은 애트리뷰트가 흐름 파일에 쓰여지는지, 그리고 얼마나 많은 프로세서가 플로우 파일을 통과하고 얼마나 많은 프로세서가 애트리뷰트를 수정하는지에 달려있다.

콘텐츠 저장소는 콘텐츠 클레임을 저장하며, 각 콘텐츠 클레임에는 하나 이상의 흐름 파일 내용이 들어 있습니다. 주기적으로 실행되는 정리 스레드가 있으며 콘텐츠 클레임을 정리할 수 있는지 여부를 결정합니다. 이는 보관 기능의 사용 여부에 따라 결정됩니다. 비활성화 된 경우 활성 클레임 파일에 해당 클레임의 내용을 참조하지 않으면 내용 클레임을 정리할 수 있습니다.

흐름 파일 내용도 내용이 변경 불가능하고 프로세서가 실제로 새 복사본을 쓰는 내용을 수정할 때 쓰기 가능한 쓰기 패턴을 따릅니다. 따라서 5GB 플로우 파일이 있고 ReplaceText와 같은 콘텐츠를 수정 한 프로세서를 통과 한 경우 콘텐츠 저장소에 다른 5GB를 기록하고 아카이브에 대한 위의 논리를 기반으로 원래 파일을 삭제할 수 있으며 흐름 파일은 해당 내용을 참조합니다.

https://nifi.apache.org/docs/nifi-docs/html/nifi-in-depth.html

:

더 많은 정보에 관심이 있다면,이 모든 것이 여기에 어떻게 작동하는지에 대한 깊이 문서가있다