ListAzureDataLakeStorage 프로세서
ListAzureDataLakeStorage 프로세서
Openflow의 ListAzureDataLakeStorage 프로세서는 Azure Data Lake Storage Gen 2 파일 시스템의 디렉터리를 나열하는 프로세서예요.
출처: Snowflake 문서
본문
기능 — 일반 공급 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있습니다.
Bundle
org.apache.nifi | nifi-azure-nar
설명
Azure Data Lake Storage Gen 2 파일 시스템의 디렉터리를 나열합니다.
태그
adlsgen2, azure, cloud, datalake, microsoft, storage
입력 요구사항
금지 (FORBIDDEN)
민감한 동적 속성 지원
false
속성
| 이름 | 설명 |
|---|---|
| ADLS Credentials | Azure 자격 증명을 얻는 데 사용하는 컨트롤러 서비스입니다. |
| Directory Name | Azure Storage 디렉터리 이름입니다. 디렉터리 이름은 앞에 '/'를 포함할 수 없습니다. 루트 디렉터리는 빈 문자열 값으로 지정할 수 있습니다. PutAzureDataLakeStorage 프로세서의 경우 디렉터리가 이미 존재하지 않으면 생성됩니다. |
| Entity Tracking Initial Listing Target | 초기 나열을 처리할 방법을 지정합니다. 'Tracking Entities' 전략에서 사용됩니다. |
| Entity Tracking State Cache | 나열된 엔터티가 지정된 캐시 저장소에 저장되어 NiFi 재시작이나 프라이머리 노드 변경 시에도 이 프로세서가 나열을 재개할 수 있게 합니다. 'Tracking Entities' 전략은 마지막 'Tracking Time Window' 내의 모든 나열된 엔터티의 추적 정보를 요구합니다. 많은 수의 엔터티를 지원하기 위해 이 전략은 관리 상태 대신 DistributedMapCache를 사용합니다. 캐시 키 형식은 'ListedEntities::{processorId}(::{nodeId})'입니다. 노드별 나열 엔터티를 추적하는 경우 상태를 별도로 관리하기 위해 선택적 '::{nodeId}' 부분이 추가됩니다. 예: 클러스터 전체 캐시 키 ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', 노드별 캐시 키 ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3'. 저장된 캐시 콘텐츠는 Gzip된 JSON 문자열입니다. 대상 나열 구성이 변경되면 캐시 키가 삭제됩니다. 'Tracking Entities' 전략에서 사용됩니다. |
| Entity Tracking Time Window | 이 프로세서가 이미 나열된 엔터티를 추적해야 하는 기간을 지정합니다. 'Tracking Entities' 전략은 지정된 시간 창 안의 타임스탬프를 가진 모든 엔터티를 선택할 수 있습니다. 예를 들어 '30 minutes'로 설정하면 이 프로세서가 실행될 때 최근 30분 내의 타임스탬프를 가진 엔터티가 나열 대상이 됩니다. 다음 조건 중 하나를 충족하면 나열된 엔터티가 '새로움/업데이트됨'으로 간주되어 FlowFile이 내보내집니다: 1. 이미 나열된 엔터티에 존재하지 않음, 2. 캐시된 엔터티보다 최신 타임스탬프를 가짐, 3. 캐시된 엔터티와 크기가 다름. 캐시된 엔터티의 타임스탬프가 지정된 시간 창보다 오래되면 그 엔터티는 캐시된 이미 나열된 엔터티에서 제거됩니다. 'Tracking Entities' 전략에서 사용됩니다. |
| File Filter | 이름이 주어진 정규식과 일치하는 파일만 나열됩니다. |
| Filesystem Name | Azure Storage File System(Container라고도 함)의 이름입니다. 이미 존재한다고 가정합니다. |
| Include Temporary Files | 구성된 디렉터리 경로의 콘텐츠를 나열할 때 임시 파일을 포함할지 여부입니다. |
| Listing Strategy | 새로운/업데이트된 엔터티를 결정하는 방법을 지정합니다. 각 전략 설명을 참조하세요. |
| Maximum File Age | 가져오기 위해 파일이 가져야 하는 최대 기간입니다. 이 시간보다 오래된 파일(마지막 수정 날짜 기준)은 무시됩니다. |
| Maximum File Size | 가져오기 위해 파일이 가질 수 있는 최대 크기입니다. |
| Minimum File Age | 가져오기 위해 파일이 가져야 하는 최소 기간입니다. 이 시간보다 최신 파일(마지막 수정 날짜 기준)은 무시됩니다. |
| Minimum File Size | 가져오기 위해 파일이 가져야 하는 최소 크기입니다. |
| Path Filter | 'Recurse Subdirectories'가 true이면 경로가 주어진 정규식과 일치하는 하위 디렉터리만 스캔됩니다. |
| Record Writer | 나열을 만드는 데 사용할 Record Writer를 지정합니다. 지정하지 않으면 나열된 각 엔터티에 대해 하나의 FlowFile이 생성됩니다. Record Writer를 지정하면 모든 엔터티가 개별 FlowFile에 속성을 추가하는 대신 단일 FlowFile로 기록됩니다. |
| Recurse Subdirectories | 디렉터리의 하위 디렉터리에서 파일을 나열할지 여부를 나타냅니다. |
| proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration 컨트롤러 서비스를 지정합니다. SOCKS의 경우 프로세서가 선택한 SOCKS 버전을 사용한다는 보장은 없습니다. |
상태 관리
| 이름 | 설명 |
|---|---|
| CLUSTER | 파일 나열을 수행한 후 가장 최신 파일의 타임스탬프가 저장됩니다. 이를 통해 프로세서는 다음 실행 시 이 날짜 이후에 추가되거나 수정된 파일만 나열할 수 있습니다. 상태는 클러스터 전체에 저장되어 프라이머리 노드에서만 실행할 수 있고, 새 프라이머리 노드가 선택되면 데이터를 중복하지 않고 이전 노드가 중단한 지점부터 이어받을 수 있습니다. |
관계
| 이름 | 설명 |
|---|---|
| success | 수신된 모든 FlowFile은 success로 라우팅됩니다. |
쓰기 속성
| 이름 | 설명 |
|---|---|
| azure.filesystem | Azure File System의 이름입니다. |
| azure.filePath | Azure File의 전체 경로입니다. |
| azure.directory | Azure Directory의 이름입니다. |
| azure.filename | Azure File의 이름입니다. |
| azure.length | Azure File의 길이입니다. |
| azure.lastModified | Azure File의 마지막 수정 시간입니다. |
| azure.etag | Azure File의 ETag입니다. |
참고 항목
org.apache.nifi.processors.azure.storage.DeleteAzureDataLakeStorageorg.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorageorg.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage