| 페이지 | 설명 |
|---|---|
| azureBlobStorage | Azure Blob Storage에서 파일을 선택하거나 삽입할 수 있는 테이블 형태의 인터페이스를 제공합니다. s3 함수와 비슷합니다. |
| azureBlobStorageCluster | 지정된 클러스터의 여러 노드에서 Azure Blob Storage의 파일을 병렬로 처리할 수 있습니다. |
| clusterAllReplicas | 분산 테이블을 생성하지 않고도 클러스터의 모든 세그먼트(remote_servers 섹션에 구성됨)에 액세스할 수 있습니다. |
| deltaLake | Amazon S3의 Delta Lake 테이블에 대한 읽기 전용 테이블 형태의 인터페이스를 제공합니다. |
| deltaLakeCluster | deltaLake 테이블 함수의 확장 기능입니다. |
| dictionary | 딕셔너리 데이터를 ClickHouse 테이블로 표시합니다. Dictionary 엔진과 동일한 방식으로 동작합니다. |
| executable | executable 테이블 함수는 stdout에 행을 출력하는 스크립트에서 정의한 사용자 정의 함수(UDF)의 출력을 기반으로 테이블을 생성합니다. |
| file | 파일에서 SELECT하고 파일에 INSERT할 수 있는 테이블 형태의 인터페이스를 제공하는 테이블 엔진이며, s3 테이블 함수와 비슷합니다. 로컬 파일로 작업할 때는 file()을 사용하고, S3, GCS, MinIO와 같은 객체 스토리지의 버킷으로 작업할 때는 s3()를 사용합니다. |
| fileCluster | 클러스터 내 여러 노드에서 지정된 경로와 일치하는 파일을 동시에 처리할 수 있습니다. initiator는 worker 노드와 연결을 설정하고, 파일 경로의 글롭 패턴을 확장하며, 파일 읽기 작업을 worker 노드에 위임합니다. 각 worker 노드는 처리할 다음 파일을 얻기 위해 initiator에 쿼리하며, 모든 작업이 완료될 때까지(즉, 모든 파일을 읽을 때까지) 이를 반복합니다. |
| filesystem | 파일을 나열하고 해당 메타데이터와 내용을 반환할 수 있도록 파일 시스템에 대한 액세스를 제공합니다. |
| format | 지정된 입력 형식에 따라 인수의 데이터를 파싱합니다. structure 인수를 지정하지 않으면 데이터에서 추출합니다. |
| gcs | Google Cloud Storage의 데이터를 SELECT 및 INSERT할 수 있는 테이블 형태의 인터페이스를 제공합니다. Storage Object User IAM role이 필요합니다. |
| fuzzQuery | 지정된 쿼리 문자열에 무작위 변형을 가합니다. |
| fuzzJSON | JSON 문자열에 무작위 변형을 가합니다. |
| generateRandom | 지정된 schema로 무작위 데이터를 생성합니다. 이 데이터를 사용해 테스트 테이블을 채울 수 있습니다. 모든 타입이 지원되는 것은 아닙니다. |
| mergeTreeTextIndex | MergeTree 테이블의 텍스트 인덱스 딕셔너리를 나타냅니다. 내부 검사에 사용할 수 있습니다. |
| mergeTreeProjection | MergeTree 테이블의 일부 projection 내용을 나타냅니다. 내부 검사에 사용할 수 있습니다. |
| mergeTreeIndex | MergeTree 테이블의 인덱스 및 마크 파일 내용을 나타냅니다. 내부 검사에 사용할 수 있습니다. |
| hdfs | HDFS의 파일에서 테이블을 생성합니다. 이 테이블 함수는 url 및 file 테이블 함수와 비슷합니다. |
| hdfsCluster | 지정된 클러스터의 여러 노드에서 HDFS의 파일을 병렬로 처리할 수 있습니다. |
| hudi | Amazon S3의 Apache Hudi 테이블에 대한 읽기 전용 테이블 형태의 인터페이스를 제공합니다. |
| ytsaurus | 이 테이블 함수는 YTsaurus 클러스터에서 데이터를 읽을 수 있게 합니다. |
| hudiCluster Table Function | hudi 테이블 함수의 확장 기능입니다. 지정된 클러스터의 여러 노드에서 Amazon S3의 Apache Hudi 테이블 파일을 병렬로 처리할 수 있습니다. |
| iceberg | Amazon S3, Azure, HDFS 또는 로컬에 저장된 Apache Iceberg 테이블에 대한 읽기 전용 테이블 형태의 인터페이스를 제공합니다. |
| paimon | Amazon S3, Azure, HDFS 또는 로컬에 저장된 Apache Paimon 테이블에 대한 읽기 전용 테이블 형태의 인터페이스를 제공합니다. |
| icebergCluster | iceberg 테이블 함수의 확장 기능으로, 지정된 클러스터의 여러 노드에서 Apache Iceberg의 파일을 병렬로 처리할 수 있습니다. |
| paimonCluster | paimon 테이블 함수의 확장 기능으로, 지정된 클러스터의 여러 노드에서 Apache Paimon의 파일을 병렬로 처리할 수 있습니다. |
| input | 주어진 structure로 server에 전송된 데이터를 다른 structure를 가진 테이블에 맞게 효율적으로 변환하고 삽입할 수 있게 하는 테이블 함수입니다. |
| jdbc | JDBC 드라이버를 통해 연결된 테이블을 반환합니다. |
| merge | 임시 Merge 테이블을 생성합니다. 구조는 하위 테이블의 컬럼 union을 사용하고 공통 타입을 도출하여 결정됩니다. |
| mongodb | 원격 MongoDB 서버에 저장된 데이터에 대해 SELECT 쿼리를 수행할 수 있습니다. |
| mysql | 원격 MySQL 서버에 저장된 데이터에 대해 SELECT 및 INSERT 쿼리를 수행할 수 있습니다. |
| null | Null table engine을 사용하여 지정된 구조의 임시 테이블을 생성합니다. 이 함수는 테스트 작성과 데모를 편리하게 수행할 수 있도록 사용됩니다. |
| timeSeriesMetrics | timeSeriesMetrics는 테이블 엔진이 TimeSeries 엔진인 db_name.time_series_table 테이블에서 사용하는 Metrics 테이블을 반환합니다. |
| timeSeriesSelector | 셀렉터로 필터링되고 지정된 인터벌 내 timestamp를 가진 TimeSeries 테이블의 시계열을 읽습니다. |
| timeSeriesTags | timeSeriesTags 테이블 함수는 테이블 엔진이 TimeSeries 엔진인 db_name.time_series_table 테이블에서 사용하는 Tags 테이블을 반환합니다. |
| prometheusQueryRange | TimeSeries 테이블의 데이터를 사용해 Prometheus 쿼리를 평가합니다. |
| zeros | 테스트 용도로 많은 행을 생성하는 가장 빠른 메서드로 사용됩니다. system.zeros 및 system.zeros_mt system table과 유사합니다. |
| primes | 소수가 들어 있는 단일 prime 컬럼을 가진 테이블을 반환합니다. |
| timeSeriesData | timeSeriesData는 테이블 엔진이 TimeSeries인 db_name.time_series_table 테이블에서 사용하는 데이터 테이블을 반환합니다. |
| numbers | 정수 시퀀스를 포함하는 단일 number 컬럼을 가진 테이블을 반환합니다. |
| prometheusQuery | TimeSeries 테이블의 데이터를 사용해 Prometheus 쿼리를 평가합니다. |
| generate_series (generateSeries) | start부터 stop까지의 정수를 포함하는 단일 generate_series 컬럼(UInt64)을 가진 테이블을 반환합니다. |
| odbc | ODBC를 통해 연결된 테이블을 반환합니다. |
| postgresql | 원격 PostgreSQL 서버에 저장된 데이터에 대해 SELECT 및 INSERT 쿼리를 수행할 수 있습니다. |
| redis | 이 테이블 함수는 ClickHouse를 Redis와 통합할 수 있게 해줍니다. |
| remote, remoteSecure | 테이블 함수 remote를 사용하면 분산 테이블을 생성하지 않고도 즉시 원격 서버에 접근할 수 있습니다. 테이블 함수 remoteSecure는 remote와 동일하지만 보안 연결을 사용합니다. |
| s3 Table Function | Amazon S3 및 Google Cloud Storage의 파일을 select/insert할 수 있는 테이블형 인터페이스를 제공합니다. 이 테이블 함수는 hdfs 함수와 유사하지만 S3 전용 기능을 제공합니다. |
| s3Cluster | s3 테이블 함수의 확장 기능으로, 지정된 cluster의 여러 노드에서 Amazon S3 및 Google Cloud Storage의 파일을 병렬로 처리할 수 있습니다. |
| sqlite | SQLite DB에 저장된 데이터에 대해 쿼리를 수행할 수 있습니다. |
| arrowFlight | Apache Arrow Flight 서버를 통해 노출된 데이터에 대해 쿼리를 수행할 수 있습니다. |
| url | 지정된 format과 structure를 사용해 URL에서 테이블을 생성합니다 |
| urlCluster | 지정된 cluster의 여러 노드에서 URL의 파일을 병렬로 처리할 수 있습니다. |
| view | subquery를 테이블로 변환합니다. 이 함수는 view를 구현합니다. |
| values | 값으로 컬럼을 채우는 임시 저장소를 생성합니다. |
| loop | ClickHouse의 loop 테이블 함수는 쿼리 결과를 무한 반복으로 반환하는 데 사용됩니다. |
사용법
SELECT 쿼리의 FROM
절에서 사용할 수 있습니다. 예를 들어, file 테이블 함수를 사용하면 로컬
머신의 파일에서 데이터를 SELECT할 수 있습니다.
Query
Response
Query
Response
Query
Query
Response
INSERT할 수 있습니다. 예를 들어,
이전 예시에서 생성한 테이블의 내용을 다시 file 테이블 함수를 사용해
디스크의 파일에 기록할 수 있습니다:
Query
Query
allow_ddl 설정이 비활성화된 경우 테이블 함수를 사용할 수 없습니다.