테이블 생성
AzureQueue의 매개변수는 AzureBlobStorage 테이블 엔진에서 지원하는 매개변수와 동일합니다. 매개변수 섹션은 여기를 참조하십시오.
AzureBlobStorage 테이블 엔진과 마찬가지로 로컬 Azure Storage 개발에는 Azurite 에뮬레이터를 사용할 수 있습니다. 자세한 내용은 여기를 참조하십시오.
예시
설정
S3Queue 테이블 엔진과 동일하지만, s3queue_ 접두사는 사용하지 않습니다. 전체 설정 목록을 참조하십시오.
테이블에 구성된 설정 목록은 system.azure_queue_settings 테이블에서 확인할 수 있습니다. 이 기능은 24.10부터 사용할 수 있습니다.
아래 설정은 AzureQueue에서만 지원되며 S3Queue에는 적용되지 않습니다.
after_processing_move_connection_string
- String.
after_processing_move_container
- String.
AzureQueue 테이블 엔진에서 SELECT
stream_like_engine_allow_direct_select 설정을 True로 지정해야 합니다.
AzureQueue 엔진에는 SELECT 쿼리용 특별 설정인 commit_on_select가 있습니다. 읽은 뒤에도 큐에 데이터를 유지하려면 False로 설정하고, 제거하려면 True로 설정하십시오.
설명
SELECT는 스트리밍 가져오기에는 그다지 유용하지 않습니다(디버깅은 예외). 각 파일은 한 번만 가져올 수 있기 때문입니다. 더 실용적인 방법은 materialized view를 사용해 실시간 스레드를 만드는 것입니다. 이렇게 하려면 다음 단계를 수행하십시오.
- 엔진을 사용해 S3의 지정된 경로에서 데이터를 소비하는 테이블을 만들고, 이를 데이터 스트림으로 간주합니다.
- 원하는 구조의 테이블을 생성합니다.
- 엔진의 데이터를 변환해 앞서 생성한 테이블에 넣는 materialized view를 생성합니다.
MATERIALIZED VIEW가 엔진에 연결되면 백그라운드에서 데이터 수집을 시작합니다.
예시:
가상 컬럼
_path— 파일 경로입니다._file— 파일 이름입니다.
내부 검사
enable_logging_to_queue_log=1로 해당 테이블의 로깅을 활성화합니다.
내부 검사 기능은 S3Queue 테이블 엔진과 동일하지만, 몇 가지 분명한 차이점이 있습니다:
- 서버 버전이 >= 25.1이면 큐의 인메모리 상태에
system.azure_queue_metadata_cache를 사용합니다. 이전 버전에서는system.s3queue_metadata_cache를 사용합니다(azure테이블에 대한 정보도 포함됨). - 예를 들어, 기본 ClickHouse 구성에서
system.azure_queue_log를 활성화합니다.
system.s3queue_metadata_cache와 동일한 정보가 저장되지만, 처리된 파일과 실패한 파일에 대한 내용입니다.
이 테이블의 구조는 다음과 같습니다: