zoukankan      html  css  js  c++  java
  • MySQL数据导入到ClickHouse

    创建表

    create database test;
    use test;

     导入数据

    CREATE TABLE dg_sku_inventory_day ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('192.168.1.20:3306', 'dgdata', 'dg_sku_inventory_day', 'root', '123456');
    前提条件:
    MySQL的主键必须为not null
    192.168.1.20:3306 为MySQL的IP地址和端口号
    dgdata 为MySQL的库,作为数据源的
    dg_sku_inventory_day 为MySQL的表,源表
    root 为MySQL的账号
    123456 为MySQL的账号对应的密码 账号需要具备远程连接访问的权限。

    解释:导入数据598万行,耗时82.305,总大小1.31GB 最后一次每秒7.264万行导入,每秒导入15.89MB的数据。
    
    注意:
    1.order by 必须存在,字段大小要和MySQL的大小写一样
    2.主键列在MySQL中必须定义为NOT NULL(报错:DB::Exception: Sorting key cannot contain nullable columns.) 
    3.导入速度和mysql的列有关,若列较少导入的更快,和硬件的读取写入速度,网络带宽也有影响。 
    4.支持从TiDB和MySQL直接读取数据。

    查看表结构

    clickhouse 左图                                                                          mysql 右图

     这时候,发现mysql中字段inventory_money 原本是decimal类型的,在clickhouse变成了String类型。

    ClickHouse 与 Mysql 字段映射关系比表

    ClickHouse MySQL Comment
    UInt8, UInt16, UInt32, UInt64 TINYINT UNSIGNED, SMALLINT UNSIGNED, INT UNSIGNED, BIGINT UNSIGNED  
    Int8, Int16, Int32, Int64 TINYINT SIGNED, SMALLINT SIGNED, INT SIGNED, BIGINT SIGNED  
    Float32, Float64 FLOAT, DOUBLE Supports inf, -inf, nan, recommended NOT to use by ClickHouse!
    String BLOB, TEXT, VARCHAR, VARBINARY No encoding. Recommended to use UTF-8. In fact behaves like a BLOB.
    FixedString(n) CHAR, BINARY padded. Less functions available than String, in fact it behaves like BINARY.
    Date DATE UNIX epoch date up to 2038.
    DateTime DATETIME, TIMESTAMP UNIX epoch timestamp up to 2038.
    Enum ENUM Similar to MySQL ENUM. Behaves like Int8/16.
    Array(type) n.a. Array of type. Closest equivalent in MySQL is JSON? Not well supported.
    Tuple() n.a.  
    Nested() n.a. Closest equivalent in MySQL is JSON?
    AggregateFunction() n.a.  
    Set n.a.  
    Expression n.a.

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

    如果,想给予我更多的鼓励,求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读!

  • 相关阅读:
    ADO.NET基础必备之SqlDataAdapter 类
    简单的JS动画的实现 文字在页面飘动
    命名空间与程序集的简单比较
    复习ADO.NET的ExecuteReader()方法
    初学SSIS要明白的几个概念
    复习ADO.NET的ExecuteNonQuery()方法
    Spending My Time (消磨时光)
    Building a WPF Sudoku Game: Part 5 The AI Battle: Loading and Comparing AI Plugins
    Building a WPF Sudoku Game, Part 2: The Board UI and Validation
    Building a WPF Sudoku Game, Part 1: Introduction to WPF and XAML
  • 原文地址:https://www.cnblogs.com/GreenForestQuan/p/14539655.html
Copyright © 2011-2022 走看看