メインコンテンツまでスキップ
メインコンテンツまでスキップ

テーブル関数

テーブル関数は、テーブルを構築するためのメソッドです。

テーブル関数は、以下の場所で使用できます:

  • FROM句の SELECT クエリ。

    現在のクエリのみで利用可能な一時テーブルを作成する方法です。クエリが終了すると、テーブルは削除されます。

  • CREATE TABLE AS table_function() クエリ。

    テーブルを作成するためのメソッドの一つです。

  • INSERT INTO TABLE FUNCTION クエリ。

注記

allow_ddl 設定が無効になっていると、テーブル関数を使用できません。

ページ説明
fileCluster指定されたパスに一致するファイルをクラスタ内の複数ノードで同時に処理できるようにします。イニシエーターはワーカーノードに接続し、ファイルパス内のグロブを展開し、ファイル読み取りタスクをワーカーノードに委任します。各ワーカーノードは処理する次のファイルをイニシエーターに照会し、すべてのタスクが完了するまで繰り返します(すべてのファイルが読み取られるまで)。
input指定された構造でサーバーに送信されたデータを他の構造のテーブルに効果的に変換し挿入できるテーブル関数です。
icebergAmazon S3、Azure、HDFS、またはローカルに保存されたApache Icebergテーブルに対する読み取り専用のテーブルのようなインターフェースを提供します。
executableexecutable テーブル関数は、スクリプト内でユーザー定義関数(UDF)の出力に基づいてテーブルを作成します。このスクリプトは、stdout に行を出力します。
timeSeriesMetricstimeSeriesMetricsは、テーブルエンジンがTimeSeriesエンジンである db_name.time_series_table に使用されるメトリクステーブルを返します。
loopClickHouseのループテーブル関数は、無限ループでクエリ結果を返すために使用されます。
url与えられた formatstructureURL からテーブルを作成します。
hudiAmazon S3のApache Hudiテーブルに対する読み取り専用のテーブルのようなインターフェースを提供します。
fuzzQuery与えられたクエリ文字列をランダムな変化で変動させます。
clusterAllReplicasすべてのシャード(remote_servers セクションで設定されている)にアクセスすることを可能にし、分散テーブルを作成する必要がありません。
urlCluster指定されたクラスタの多くのノードからURLのファイルを並行して処理することを許可します。
redisこのテーブル関数は、ClickHouseとRedisを統合することを可能にします。
icebergCluster指定されたクラスタの多くのノードからApache Icebergのファイルを並行して処理することを可能にするicebergテーブル関数の拡張です。
viewサブクエリをテーブルに変換します。この関数はビューを実装しています。
fileファイルからSELECT及びINSERTするためのテーブルのようなインターフェースを提供するテーブルエンジンです。これはs3テーブル関数と似ています。ローカルファイルで作業する場合は file() 、S3、GCS、またはMinIOなどのオブジェクトストレージのバケットで作業する場合は s3() を使用します。
timeSeriesTagstimeSeriesTags テーブル関数は、テーブルエンジンがTimeSeriesエンジンである db_name.time_series_table に使用されるタグテーブルを返します。
mysqlリモートMySQLサーバーに保存されているデータに対して SELECTINSERT クエリを実行できます。
Amazon S3およびGoogle Cloud Storageでファイルを選択/挿入するためのテーブルのようなインターフェースを提供します。このテーブル関数はhdfs関数に似ていますが、S3固有の機能を提供します。
dictionaryClickHouseテーブルとして辞書データを表示します。Dictionaryエンジンと同じように動作します。
hdfsHDFS内のファイルからテーブルを作成します。このテーブル関数はurlおよびfileテーブル関数に似ています。
fuzzJSONJSON文字列をランダムな変動で変動させます。
hdfsCluster指定されたクラスタの多くのノードからHDFSのファイルを並行して処理することを許可します。
zeros多くの行を生成するための最速の方法としてテスト目的で使用します。 system.zerosおよび system.zeros_mt システムテーブルに似ています。
values値をカラムに充填する一時ストレージを作成します。
generateRandom与えられたスキーマのランダムデータを生成します。このデータでテストテーブルにデータをポピュレートできます。すべてのタイプがサポートされているわけではありません。
deltaLakeAmazon S3のDelta Lakeテーブルへの読み取り専用のテーブルのようなインターフェースを提供します。
gcsGoogle Cloud Storageからデータを SELECT および INSERT するためのテーブルのようなインターフェースを提供します。 Storage Object User IAMロールが必要です。
mergeTreeIndexMergeTreeテーブルのインデックスおよびマークファイルの内容を表します。これはイントロスペクションに使用できます。
postgresqlリモートPostgreSQLサーバーに保存されているデータに対して SELECTINSERT クエリを実行できます。
timeSeriesDatatimeSeriesDataは、テーブルエンジンがTimeSeriesである db_name.time_series_table に使用されるデータテーブルを返します。
azureBlobStorageAzure Blob Storageでファイルを選択/挿入するためのテーブルのようなインターフェースを提供します。s3関数に似ています。
odbcODBC経由で接続されたテーブルを返します。
merge一時的なMergeテーブルを作成します。テーブル構造は、正規表現に一致する最初のテーブルから取得されます。
hudiCluster Table Functionhudiテーブル関数の拡張です。指定されたクラスタの多くのノードからAmazon S3のApache Hudiテーブルのファイルを並行して処理することができます。
generate_series (generateSeries)開始から停止まで(両端含む)の整数を含む単一の 'generate_series' カラム (UInt64) を持つテーブルを返します。
azureBlobStorageCluster指定されたクラスタの多くのノードからAzure Blobストレージのファイルを並行して処理することを許可します。
jdbcJDBCドライバを介して接続されたテーブルを返します。
format指定された入力形式に従って、引数からデータを解析します。構造引数が指定されていない場合は、データから抽出されます。
s3ClusterAmazon S3およびGoogle Cloud Storageからファイルを並行して処理するためのs3テーブル関数の拡張です。
sqliteSQLiteデータベースに保存されているデータに対してクエリを実行することを可能にします。
deltaLakeClusterこれはdeltaLakeテーブル関数への拡張です。
numbers指定可能な整数を含む単一の 'number' カラムのテーブルを返します。
nullNullテーブルエンジンを使用して、指定された構造の一時テーブルを作成します。この関数は、テスト執筆やデモの便利さのために使用されます。
remote, remoteSecureテーブル関数 remote は、分散テーブルを作成することなくリモートサーバーにオンザフライでアクセスすることを可能にします。テーブル関数 remoteSecure は、同じくリモートに確保された接続上で実行されます。
mongodbリモートMongoDBサーバーに保存されているデータに対して SELECT クエリを実行します。