NiFi의 일반적인 사용 사례는 일부 배치 지향 프로세스를 수행하고 해당 프로세스가 완료된 후에 만 동일한 데이터 배치에서 다른 프로세스를 수행하는 것입니다.
NiFi는 이러한 각 프로세스를 자체 프로세스 그룹에 캡슐화하여이를 가능하게합니다. 첫 번째 프로세스 그룹의 아웃 바운드 정책은 "일괄 출력"으로 구성되어야하며 FlowFile 동시성은 "노드 당 단일 FlowFile"또는 "노드 당 단일 배치"여야합니다. 이 구성을 사용하면 첫 번째 프로세스 그룹이 전체 데이터 배치 (FlowFile 동시성에 따라 단일 FlowFile 또는 여러 FlowFile이 됨)를 일관된 데이터 배치로 처리합니다. 해당 데이터 배치에 대한 처리가 완료되면 모든 FlowFile이 처리를 완료하고 프로세스 그룹에서 나갈 준비가 될 때까지 데이터가 유지됩니다. 이 시점에서 데이터는 일괄 처리로 프로세스 그룹 외부로 전송 될 수 있습니다. 이 구성-프로세스 그룹이 ""의 아웃 바운드 정책으로 구성된 경우 수신 프로세스 그룹은 입력 큐가 비어있을 때까지뿐만 아니라 소스 프로세스 그룹이 해당 배치의 모든 데이터를 프로세스 그룹 외부로 전송할 때까지 데이터를 수집합니다. 이를 통해 FlowFile이 여러 포트에 분산되어있는 경우에도 FlowFile 컬렉션을 프로세스 그룹간에 단일 데이터 배치로 전송할 수 있습니다. 수신 프로세스 그룹은 입력 큐가 비어있을 때까지뿐만 아니라 소스 프로세스 그룹이 해당 배치의 모든 데이터를 프로세스 그룹 외부로 전송할 때까지 데이터를 수집합니다. 이를 통해 FlowFile이 여러 포트에 분산되어있는 경우에도 FlowFile 컬렉션을 프로세스 그룹간에 단일 데이터 배치로 전송할 수 있습니다.
주의 사항
"노드 당 단일 FlowFile"의 FlowFile 동시성을 사용할 때 고려해야 할 몇 가지주의 사항이 있습니다.
첫째, 입력 포트는 동일한 노드의 해당 프로세스 그룹에 대기중인 데이터가없는 경우 데이터를 프로세스 그룹으로 자유롭게 가져올 수 있습니다. 이는 예를 들어 5 노드 클러스터에서 최대 5 개의 수신 FlowFile이 동시에 처리 될 수 있음을 의미합니다. 또한 연결이 Load Balancing 을 사용하도록 구성된 경우 데이터를 클러스터의 다른 노드로 전송하여 FlowFile이 아직 처리되는 동안 데이터가 프로세스 그룹에 들어갈 수 있습니다. 따라서 "제한되지 않은"FlowFile 동시성에 대해 구성되지 않은 프로세스 그룹 내에서로드 균형 조정 된 연결을 사용하지 않는 것이 좋습니다.
"일괄 출력"의 아웃 바운드 정책을 사용할 때 배압을 고려하는 것이 중요합니다. 모든 데이터 처리가 완료 될 때까지 데이터가 프로세스 그룹에서 전송되지 않는 경우를 고려하십시오. 또한 출력 포트 A에 대한 연결의 역압 임계 값이 10,000 FlowFiles (기본값)임을 고려하십시오. 해당 대기열이 임계 값 10,000에 도달하면 업스트림 프로세서가 더 이상 트리거되지 않습니다. 결과적으로 데이터 처리가 완료되지 않고 흐름이 교착 상태로 종료됩니다. 처리가 완료 될 때까지 출력 포트가 실행되지 않고 출력 포트가 실행될 때까지 프로세서가 실행되지 않기 때문입니다. 이를 방지하기 위해 단일 입력 FlowFile에서 많은 수의 FlowFile이 생성 될 것으로 예상되는 경우, 출력 포트로 끝나는 연결에 대한 역압은 예상되는 최대 수의 FlowFile 또는 해당 연결에 대한 역압을 모두 비활성화 할 수 있도록 구성하는 것이 좋습니다 (역압 임계 값을 0으로 설정). 보다자세한 내용은 배압 을 참조하십시오.
컨트롤러 서비스
프로세스 그룹 구성 대화 상자의 컨트롤러 서비스 탭은 데이터 흐름 용 컨트롤러 서비스 추가 에서 다룹니다 .
매개 변수
민감한 속성을 포함한 흐름의 속성 값은 매개 변수를 사용하여 매개 변수화 할 수 있습니다. 매개 변수는 NiFi UI 내에서 생성 및 구성됩니다. 다음 조건에서 매개 변수를 참조하도록 모든 특성을 구성 할 수 있습니다.
- 민감한 속성은 민감한 매개 변수 만 참조 할 수 있습니다.
- 민감하지 않은 속성은 민감하지 않은 매개 변수 만 참조 할 수 있습니다.
- 컨트롤러 서비스를 참조하는 속성은 매개 변수를 사용할 수 없습니다.
- 보고 작업 또는 컨트롤러 수준 컨트롤러 서비스에서 매개 변수를 참조 할 수 없습니다.
UI는 속성 값에 매개 변수를 사용할 수 있는지 여부를 나타냅니다.
매개 변수를 통해 많은 장점이 변수 . 민감한 값 지원 외에도 매개 변수는 액세스 정책에 대한보다 세부적인 제어를 제공합니다. 또한 식 언어를 사용하여 변수를 참조하는 대부분의 속성과 달리 매개 변수를 참조하는 속성은 대체 된 값에 대해 유효성이 검사됩니다. |
'기술_Nifi' 카테고리의 다른 글
매개 변수 및 표현 언어 (0) | 2022.08.08 |
---|---|
매개 변수 컨텍스트 (0) | 2022.08.08 |
FlowFile 동시성 (0) | 2022.08.07 |
댓글 탭 (0) | 2022.08.07 |
실행 시간 (0) | 2022.08.07 |