azureBlobStorageCluster 테이블 함수
azureBlobStorageCluster 테이블 함수 (azureBlobStorageCluster)
Azure Blob Storage의 파일을 지정된 클러스터의 여러 노드에서 병렬로 처리할 수 있게 해줘요. 이니시에이터는 클러스터의 모든 노드에 연결하고, S3 파일 경로의 별표를 펼친 다음 각 파일을 동적으로 분배합니다. 워커 노드는 이니시에이터에게 처리할 다음 작업을 요청하고 처리하며, 모든 작업이 끝날 때까지 반복합니다.
이 테이블 함수는 s3Cluster 함수와 비슷합니다.
출처: 문서
본문
Azure Blob Storage의 파일을 지정된 클러스터의 많은 노드에서 병렬로 처리할 수 있게 해줍니다. 이니시에이터에서 클러스터의 모든 노드에 연결하고, S3 파일 경로의 별표를 펼친 다음 각 파일을 동적으로 분배합니다. 워커 노드에서는 처리할 다음 작업을 이니시에이터에게 요청하고 처리합니다. 모든 작업이 끝날 때까지 반복합니다.
이 테이블 함수는 s3Cluster 함수와 비슷합니다.
구문
azureBlobStorageCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression, structure])
인자
| 인자 | 설명 |
|---|---|
cluster_name |
원격·로컬 서버에 대한 주소 집합과 연결 파라미터를 만드는 데 사용하는 클러스터 이름. |
connection_string |
storage_account_url — connection_string에는 계정 이름과 키가 포함됩니다(연결 문자열 만들기). 또는 여기에 스토리지 계정 url을 주고 계정 이름과 키를 별도 파라미터로 제공할 수도 있습니다(account_name & account_key 파라미터 참고). |
container_name |
컨테이너 이름. |
blobpath |
파일 경로. 읽기 전용 모드에서 다음 와일드카드를 지원합니다: *, **, ?, {abc,def} 및 {N..M}(N, M은 숫자, 'abc', 'def'는 문자열). |
account_name |
storage_account_url을 쓰면 여기에 계정 이름을 지정할 수 있습니다. |
account_key |
storage_account_url을 쓰면 여기에 계정 키를 지정할 수 있습니다. |
format |
파일의 포맷. |
compression |
지원 값: none, gzip/gz, deflate, brotli/br, xz/LZMA, zstd/zst, lz4, bz2, snappy. 기본적으로 파일 확장자로 압축을 자동 감지합니다(auto로 설정한 것과 동일). snappy의 경우 snappy_mode 설정(basic이 기본값)으로 와이어 포맷을 선택합니다. |
structure |
테이블 구조. 'column1_name column1_type, column2_name column2_type, ...' 형식. |
반환 값
지정된 파일에서 데이터를 읽거나 쓸 수 있는, 지정된 구조의 테이블.
예제
AzureBlobStorage 테이블 엔진과 비슷하게, 로컬 Azure Storage 개발에 Azurite 에뮬레이터를 사용할 수 있습니다. 자세한 내용은 여기를 참고하세요. 아래에서는 azurite1 호스트에 Azurite가 있다고 가정합니다.
cluster_simple 클러스터의 모든 노드를 사용해 파일 test_cluster_*.csv의 count를 선택합니다:
SELECT count(*) FROM azureBlobStorageCluster(
'cluster_simple', 'http://azurite1:10000/devstoreaccount1', 'testcontainer', 'test_cluster_count.csv', 'devstoreaccount1',
'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', 'CSV',
'auto', 'key UInt64')
SAS(공유 액세스 서명) 사용
예제는 azureBlobStorage를 참고하세요.