【问题标题】:Importing from MySQL dump to Clickhouse从 MySQL 转储导入 Clickhouse
【发布时间】:2018-05-22 08:22:50
【问题描述】:

我想从 MySQL 转储导入 Clickhouse。我试过通过official docs,但找不到任何东西。我尝试在Stack Overflow answer 之后使用 CSV 导入。任何帮助表示赞赏。我有一个 Ubuntu 16.04 LTS。

【问题讨论】:

    标签: mysql ubuntu-16.04 clickhouse


    【解决方案1】:

    在小数据上,导出到 tsv 可以,但在大数据上就不行了,因为只导出会花费很多时间。

    这种情况下,需要直接从stdout导入,clickhouse知道如何完美做到。

    示例代码:

    mysql -u user  -ppass --compress -ss -e "SELECT * FROM table WHERE id >0  AND id <=1000000" db_name | sed 's/\"//g;s/\t/","/g;s/^/"/;s/$/"/' | clickhouse-client --query="INSERT INTO db_name.table FORMAT CSV"
    

    使用这种方法,我在 clickhouse 中在 7-10 小时内导入 500 GB 和 19 亿行

    【讨论】:

      【解决方案2】:

      您可以使用 MySQL 命令行将数据从 MySQL 导出到 TSV 文件中:

      mysql -Bse "select * from TABLE_NAME" > table.tsv
      

      然后将数据导入ClickHouse:

      cat table.tsv | clickhouse-client --query="INSERT INTO TABLE_NAME FORMAT TabSeparated"
      

      【讨论】:

      • 谢谢@mikhail,没有直接的方法可以将 SQL 导入 Clickhouse 吗?
      • “不能直接接近”是什么意思?
      • 直接方法我的意思是不先将其转换为 TSV 文件
      猜你喜欢
      • 2023-02-20
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多