ClickHouse系列教程: ClickHouse系列教程


遇到了一个问题,就是如何把数据从一个服务器导入到另外一个服务器。

最初的想法是把数据都导出到CSV文件,然后再从CSV文件导入,做法如下:

select * from test.app INTO OUTFILE '/data2/data.csv' FORMAT CSVWithNames;
cat data.csv | clickhouse-client --query="INSERT INTO test.app FORMAT CSVWithNames"  --password

但是我在导出数据的时候遇到了问题:数据库中的总大小为800G,但是解压后的数据大小为4T!!,我没有那么大的硬盘可以存放这么大的文件,即使是分割出来也很大,而且太慢了。


随后我就想到了ClickHouseselect支持从remote服务器进行查询,于是做法如下:

insert into test.app VALUES
select * from remote('127.0.0.1:9000', test, app);

遇到了问题:内存不够。内存当然不够,800G的数据啊!


幸运的是我看到了这篇文章:Clickhouse-copier in practice — Altinity
里面提到的方法如下:

clickhouse-client --host <source>   -q "SELECT * FROM test.app FORMAT CSVWithNames" | \
clickhouse-client --host <target> --port 9000  -q "INSERT INTO test.app FORMAT CSVWithNames"

使用了Linux的系统特性:管道。这样既避免了把数据全读进内存,也不用先写数据,再读的问题。
秒啊!

ClickHouse系列教程八:从一个服务器导入4T数据到另外一个服务器相关推荐

  1. ClickHouse系列教程

    ClickHouse系列教程一:Debian/Ubuntu 下ClickHouse的安装和使用 ClickHouse系列教程二:使用航班飞行数据 ClickHouse系列教程三:MergeTree引擎 ...

  2. ClickHouse系列教程三:MergeTree引擎分析

    ClickHouse系列教程: ClickHouse系列教程 Clickhouse之MergeTree引擎分析 CRUD Clickhouse支持查询(select)和增加(insert),但是不直接 ...

  3. SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

    加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...

  4. ClickHouse系列教程二:使用航班飞行数据

    ClickHouse系列教程: ClickHouse系列教程 根据官方提供的教程:ClickHouse Quick Start Guide 先下载数据:ontime.csv.xz - Yandex.D ...

  5. PVE系列教程(八)、安装OpenWRT软路由

    PVE系列教程(八).安装OpenWRT软路由 为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000/ 本教程固件下载地址:http://nas.he ...

  6. ClickHouse系列教程七:centos下源码编译安装及报错解决

    ClickHouse系列教程: ClickHouse系列教程 参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行 先安装 gcc 8, g++ 8, cmake 3, ni ...

  7. ClickHouse系列教程六:源码分析之Debug编译运行

    ClickHouse系列教程: ClickHouse系列教程 根据官方文档的编译教程:How to Build ClickHouse on Linux - ClickHouse Documentati ...

  8. ClickHouse 系列教程五:多种连接方法

    文章目录 clickhouse-client HTTP 接口 JDBC Python接口 ClickHouse系列教程: ClickHouse系列教程 clickhouse-client 你可以通过c ...

  9. ClickHouse系列教程四:允许远程连接 allow remote access

    ClickHouse系列教程: ClickHouse系列教程 先查看ClickHouse server端监听端口的状态: root@ubuntu:/var/lib/clickhouse/# lsof ...

最新文章

  1. 爬虫9-淘宝商品信息定向爬虫
  2. OVS之vhost-net中VM通信(九)
  3. mysql variables_通过什么命令能够改变mysql的variables的变量里的值?
  4. 当Tomcat遇上Netty,我这一系列神操作,同事看了拍手叫绝
  5. python文件操作的一般步骤_Python基础之文件操作
  6. 蚂蚁动态卡片,让App首页实现敏捷更新
  7. Unable to instantiate SparkSession with Hive support because Hive classes are not found
  8. 看我如何绕过Cloudflare 的 SQL 注入过滤
  9. Java RMI远程方法调用学习总结
  10. imx385驱动、imx307驱动、imx327驱动调试记录
  11. clustalX2使用以及相关的问题
  12. Python排序算法(四)——插入排序
  13. 五线谱入门,程序员也可以玩音乐
  14. 微信网页授权并获取用户信息
  15. MySql ORDER BY排序用法
  16. 文件包含漏洞 文件伪协议利用
  17. 第五章语言模型:n-gram
  18. el-form 清除表单验证结果
  19. vue组件中的data为什么是一个函数
  20. 【Unity3d日常开发】Unity3D中实现热力图、风向图、温度图效果

热门文章

  1. 5.Scrapy与相关应用
  2. 【错误归纳】E: Sub-process /usr/bin/dpkg returned an error code (1)子进程 已安装 post-installation 脚本 返回了错误号 1
  3. linux下压缩和解压的命令汇总
  4. 零基础入门学习Python(13)-字符串
  5. 微生物相关网络构建教程:MENA, LSA, SparCC和CoNet
  6. Cell Host综述-建立因果关系:合成菌群在植物菌群研究中的机会
  7. Nature:人工甜味剂改变小鼠肠道菌群组成及功能
  8. R语言ggplot2可视化:可视化堆叠的直方图、添加每个分组的每个bin的计数标签、在堆叠直方图的bin中的每个分组部分添加数值标签
  9. Python使用matplotlib可视化多个时间序列数据、添加双Y轴、以显示具有不同尺度的时间序列数据(secondary y axis)
  10. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性