• 【BIGDATA】CSV文件导入到ClickHouse


    最近遇到给ClickHouse灌注测试数据的场景。方法多种多样,此处提供一种思路。

    文件准备

    [root@VM-16-48-centos ~]# cat a.csv
    2,liudehua
    2,chenguanxi
    3,bh8ank
    4,bh8ank
    5,bh8ank
    6,bh8ank
    7,bh8ank
    8,bh8ank
    [root@VM-16-48-centos ~]# 

    现有csv文件,内容格式如上。

    库表准备

    192.168.16.16 :) create database DDD on cluster default_cluster;
    
    CREATE DATABASE DDD ON CLUSTER default_cluster
    
    ┌─host──────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
    │ 192.168.16.1590000 │       │                   10 │
    │ 192.168.16.1690000 │       │                   00 │
    └───────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘
    
    2 rows in set. Elapsed: 0.112 sec. 
    
    192.168.16.16 :) CREATE TABLE DDD.test (id int,name varchar(255)) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{layer}-{shard}/test', '{replica}')ORDER BY(id);
    
    CREATE TABLE DDD.test
    (
        `id` int,
        `name` varchar(255)
    )
    ENGINE = ReplicatedMergeTree('/clickhouse/tables/{layer}-{shard}/test', '{replica}')
    ORDER BY id
    
    Ok.
    
    0 rows in set. Elapsed: 0.031 sec. 
    
    192.168.16.16 :) 
    192.168.16.16 :) 

     将CSV文件插入

    [root@VM-16-48-centos ~]# cat a.csv | clickhouse-client --host=172.16.0.72 --port=9000 --user=yourusername --password=yourpassword --query="INSERT INTO DDD.test FORMAT CSV"
    [root@VM-16-48-centos ~]# 

    数据检查

    192.168.16.15 :) 
    192.168.16.15 :) 
    192.168.16.15 :) 
    192.168.16.15 :) 
    192.168.16.15 :) select * from DDD.test;
    
    SELECT *
    FROM DDD.test
    
    ┌─id─┬─name───────┐
    │  2 │ liudehua   │
    │  2 │ chenguanxi │
    │  3 │ bh8ank     │
    │  4 │ bh8ank     │
    │  5 │ bh8ank     │
    │  6 │ bh8ank     │
    │  7 │ bh8ank     │
    │  8 │ bh8ank     │
    └────┴────────────┘
    
    8 rows in set. Elapsed: 0.006 sec. 
    
    192.168.16.15 :) 
  • 相关阅读:
    将Python的Django框架与认证系统整合的方法
    将Python的Django框架与认证系统整合的方法
    Python的Asyncore异步Socket模块及实现端口转发的例子
    每天一个linux命令(3):du命令
    每天一个linux命令(2):file 命令
    Ubantu 使用extundelete恢复数据
    ubantu 单用户模式进入系统
    GDB 调试解析
    服务器搭建5 Samba实现文件共享
    服务器搭建4 安装其它库
  • 原文地址:https://www.cnblogs.com/BH8ANK/p/16258450.html
Copyright © 2020-2023  润新知