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.DeleteAzureDataLakeStorage
  • org.apache.nifi.processors.azure.storage.FetchAzureDataLakeStorage
  • org.apache.nifi.processors.azure.storage.PutAzureDataLakeStorage

더 알아보기 (Learn more)