テーブルの作成
db_path— データベースを含む SQLite ファイルへのパス。table— SQLite データベース内のテーブル名、またはそのまま SQLite に渡されるクエリ (テーブル名の代わりにクエリを渡す を参照) 。
テーブル名の代わりにクエリを渡す
table 引数には、そのまま SQLite に渡される SELECT クエリを指定できます。テーブルの構造はクエリ結果から推論されます。クエリは、サブクエリとして記述することも、query 関数でラップすることもできます。
INSERT は許可されていません。同じ構文は、sqlite テーブル関数でもサポートされています。
サブクエリ形式
(SELECT ...) は ClickHouse によって解析され、SQLite に送信される前に再シリアライズされます。そのため、有効な ClickHouse SQL である必要があります。ClickHouse が解析しない SQLite 固有の構文を渡すには、query('...') 形式を使用してください。この形式では、テキストがそのまま SQLite に送信されます。周囲の ClickHouse クエリにある外側の WHERE、LIMIT、集約などは、渡したクエリには プッシュダウンされず、完全なクエリ結果を取得した後に ClickHouse で適用されます。SQLite から読み取るデータを制限するには、渡すクエリの中にフィルターを含めてください。external_table_strict_query = 1 を指定すると、プッシュダウンできない外側のフィルターはローカルで適用される代わりに、例外を返して拒否されます。サポートされるデータ型
- Date, Date32
- DateTime, DateTime64
- UUID
- Enum8, Enum16
- Decimal32, Decimal64, Decimal128, Decimal256
- FixedString
- すべての整数型 (UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64)
- Float32, Float64