本文以导入On Time数据集至clickhouse_demo数据库的分布式表ontime_local_distributed为例,介绍如何使用客户端clickhouse-client工具导入数据到云数据库ClickHouse

前提条件

  1. 已完成快速入门系列的如下步骤。
    1. 新建集群
    2. 创建账号
    3. 设置白名单
      说明 您需要将clickhouse-client所在服务器的IP地址添加到云数据库ClickHouse集群的白名单中。
    4. 连接集群
    5. 创建数据库
    6. 创建表
  2. 已安装与云数据库ClickHouse集群版本对应的clickhouse-client工具。下载链接,请参见clickhouse-client

操作步骤

  1. 单击On Time Data下载On Time数据集。
  2. 解压下载的On Time数据集。
    unzip ontime-data.zip
  3. 连接云数据库ClickHouse集群并导入数据到云数据库ClickHouse
    在clickhouse-client客户端的安装目录下执行如下命令。
    ./clickhouse-client --host=<host> --port=<port> --user=<user> --password=<password> --query="INSERT INTO <ClickHouse_table> FORMAT CSVWithNames" < ontime-data.csv
    参数说明如下。
    参数 说明
    host 外网地址或VPC地址,您可以在集群信息页面查看。

    如果clickhouse-client所在服务器与云数据库ClickHouse集群在同一VPC内,您可以使用VPC地址。否则,请使用外网地址。

    port TCP端口号,您可以在集群信息页面查看。
    user 您通过云数据库ClickHouse控制台创建的数据库账号。
    password 数据库账号对应的密码。
    ClickHouse_table 要导入数据的云数据库ClickHouse表。
    示例语句如下。
    ./clickhouse-client --host=cc-bp16qwvp7hy8i****.public.clickhouse.ads.aliyuncs.com --port=3306 --user=test --password=123456Aa --query="INSERT INTO clickhouse_demo.ontime_local_distributed FORMAT CSVWithNames" < ontime-data.csv
  4. 查询数据,验证数据是否导入成功。
    SELECT OriginCityName, count(*) AS flights
    FROM ontime_local_distributed
    GROUP BY OriginCityName
    ORDER BY flights DESC
    LIMIT 10; 
    查询结果如下。
       OriginCityName      │ flights  
     ──────────────────────│────────
       Chicago, IL         │  24114    
       Atlanta, GA         │  22001  
     Dallas/Fort Worth, TX │  17340   
       Los Angeles, CA     │  14494  
       Denver, CO          │  14170  
       New York, NY        │  14075   
       Washington, DC      │  11985  
       Houston, TX         │  11483    
       San Francisco, CA   │  11259  
       St. Louis, MO       │  10721