> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 테이블 함수에 대한 문서

# 테이블 함수

테이블 함수는 테이블을 생성하는 방법입니다.

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

<div id="usage">
  ## 사용법
</div>

테이블 함수는 `SELECT` 쿼리의 [`FROM`](/ko/reference/statements/select/from)
절에서 사용할 수 있습니다. 예를 들어, `file` 테이블 함수를 사용하면 로컬
머신의 파일에서 데이터를 `SELECT`할 수 있습니다.

```bash title="Query" theme={null}
echo "1, 2, 3" > example.csv
```

```text title="Response" theme={null}
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
```

현재 쿼리에서만 사용 가능한 임시 테이블을 생성할 때도 테이블 함수를 사용할 수
있습니다. 예시:

```sql title="Query" theme={null}
SELECT * FROM generateSeries(1,5);
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

테이블은 쿼리가 종료되면 삭제됩니다.

테이블 함수는 다음 구문을 사용해 테이블을 생성하는 데 사용할 수 있습니다:

```sql title="Query" theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
```

예시:

```sql title="Query" theme={null}
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

마지막으로, 테이블 함수를 사용해 테이블에 데이터를 `INSERT`할 수 있습니다. 예를 들어,
이전 예시에서 생성한 테이블의 내용을 다시 `file` 테이블 함수를 사용해
디스크의 파일에 기록할 수 있습니다:

```sql title="Query" theme={null}
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
```

```bash title="Query" theme={null}
cat numbers.csv
1
2
3
4
5
```

<Note>
  [allow\_ddl](/ko/reference/settings/session-settings#allow_ddl) 설정이 비활성화된 경우 테이블 함수를 사용할 수 없습니다.
</Note>
