搜索快捷键 cmd + k | ctrl + k
chsql_native

ClickHouse 原生客户端和用于 chsql 的文件读取器

维护者:lmangani, adubovikov

安装和加载

INSTALL chsql_native FROM community;
LOAD chsql_native;

示例


--- Simple Query Example
--- export CLICKHOUSE_URL="tcp://user:pass@remote:9440/?secure=true&skip_verify=true"
D SELECT * FROM clickhouse_scan("SELECT version(), 'hello', 123");
┌────────────┬─────────┬────────┐
 version()   'hello'   123   
  varchar    varchar  uint32 
├────────────┼─────────┼────────┤
 24.10.2.80  hello       123 
└────────────┴─────────┴────────┘

--- Wide Query Example
D SELECT * FROM clickhouse_scan("SELECT * FROM system.functions WHERE alias_to != '' LIMIT 10");
┌────────────────────┬──────────────┬──────────────────┬──────────────────────┬───┬───────────┬────────────────┬──────────┬────────────┐
        name         is_aggregate  case_insensitive        alias_to          arguments  returned_value  examples  categories 
      varchar           uint32          uint32             varchar             varchar      varchar      varchar    varchar   
├────────────────────┼──────────────┼──────────────────┼──────────────────────┼───┼───────────┼────────────────┼──────────┼────────────┤
 connection_id                  0                 1  connectionID                                                            
 rand32                         0                 0  rand                                                                    
 INET6_ATON                     0                 1  IPv6StringToNum                                                         
 INET_ATON                      0                 1  IPv4StringToNum                                                         
 truncate                       0                 1  trunc                                                                   
 ceiling                        0                 1  ceil                                                                    
 replace                        0                 1  replaceAll                                                              
 from_utc_timestamp             0                 1  fromUTCTimestamp                                                        
 mapFromString                  0                 0  extractKeyValuePairs                                                    
 str_to_map                     0                 1  extractKeyValuePairs                                                    
├────────────────────┴──────────────┴──────────────────┴──────────────────────┴───┴───────────┴────────────────┴──────────┴────────────┤
 10 rows                                                                                                         12 columns (8 shown) 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘


--- Native File Reader for chsql
--- Test files can be generated with clickhouse-local. File reads are full-scans.

--- Simple Example
D SELECT * FROM clickhouse_native('/tmp/numbers.clickhouse');
┌──────────────┬─────────┐
  version()    number  
   varchar      int32  
├──────────────┼─────────┤
 24.12.1.1273  0       
└──────────────┴─────────┘

--- Long Example
D SELECT count(*), max(number) FROM clickhouse_native('/tmp/100000.clickhouse');
┌──────────────┬─────────────┐
 count_star()  max(number) 
    int64         int32    
├──────────────┼─────────────┤
       100000        99999 
└──────────────┴─────────────┘

--- Wide Example
D SELECT * FROM clickhouse_native('/tmp/functions.clickhouse') WHERE alias_to != '' LIMIT 10;
┌────────────────────┬──────────────┬──────────────────┬──────────────────────┬──────────────┬─────────┬───┬─────────┬───────────┬────────────────┬──────────┬────────────┐
        name         is_aggregate  case_insensitive        alias_to        create_query  origin     syntax   arguments  returned_value  examples  categories 
      varchar           int32           int32              varchar           varchar     varchar     varchar   varchar      varchar      varchar    varchar   
├────────────────────┼──────────────┼──────────────────┼──────────────────────┼──────────────┼─────────┼───┼─────────┼───────────┼────────────────┼──────────┼────────────┤
 connection_id                  0                 1  connectionID                        System                                                              
 rand32                         0                 0  rand                                System                                                              
 INET6_ATON                     0                 1  IPv6StringToNum                     System                                                              
 INET_ATON                      0                 1  IPv4StringToNum                     System                                                              
 truncate                       0                 1  trunc                               System                                                              
 ceiling                        0                 1  ceil                                System                                                              
 replace                        0                 1  replaceAll                          System                                                              
 from_utc_timestamp             0                 1  fromUTCTimestamp                    System                                                              
 mapFromString                  0                 0  extractKeyValuePairs                System                                                              
 str_to_map                     0                 1  extractKeyValuePairs                System                                                              
├────────────────────┴──────────────┴──────────────────┴──────────────────────┴──────────────┴─────────┴───┴─────────┴───────────┴────────────────┴──────────┴────────────┤
 10 rows                                                                                                                                           12 columns (11 shown) 
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

关于 chsql_native

chsql_native

这个实验性的社区扩展实现了用于 DuckDB 的 ClickHouse 原生客户端。

客户端配置

该扩展可以通过以下环境变量进行配置

CLICKHOUSE_URL
CLICKHOUSE_USER
CLICKHOUSE_PASSWORD

身份验证和连接参数可以包含在 URL 中

export CLICKHOUSE_URL="tcp://user:pass@remote:9440/?secure=true&skip_verify=true"
-- export CLICKHOUSE_URL="tcp://:9000"

此扩展是实验性的,可能不稳定。请勿在生产环境中使用。有关完整示例,请参阅 README。

新增函数

函数名 函数类型 描述 注释 示例
clickhouse_native NULL NULL  
clickhouse_scan NULL NULL