ClickHouse系列教程八:从一个服务器导入4T数据到另外一个服务器
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!!,我没有那么大的硬盘可以存放这么大的文件,即使是分割出来也很大,而且太慢了。
随后我就想到了ClickHouse
的select
支持从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数据到另外一个服务器相关推荐
- ClickHouse系列教程
ClickHouse系列教程一:Debian/Ubuntu 下ClickHouse的安装和使用 ClickHouse系列教程二:使用航班飞行数据 ClickHouse系列教程三:MergeTree引擎 ...
- ClickHouse系列教程三:MergeTree引擎分析
ClickHouse系列教程: ClickHouse系列教程 Clickhouse之MergeTree引擎分析 CRUD Clickhouse支持查询(select)和增加(insert),但是不直接 ...
- SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计
加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...
- ClickHouse系列教程二:使用航班飞行数据
ClickHouse系列教程: ClickHouse系列教程 根据官方提供的教程:ClickHouse Quick Start Guide 先下载数据:ontime.csv.xz - Yandex.D ...
- PVE系列教程(八)、安装OpenWRT软路由
PVE系列教程(八).安装OpenWRT软路由 为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000/ 本教程固件下载地址:http://nas.he ...
- ClickHouse系列教程七:centos下源码编译安装及报错解决
ClickHouse系列教程: ClickHouse系列教程 参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行 先安装 gcc 8, g++ 8, cmake 3, ni ...
- ClickHouse系列教程六:源码分析之Debug编译运行
ClickHouse系列教程: ClickHouse系列教程 根据官方文档的编译教程:How to Build ClickHouse on Linux - ClickHouse Documentati ...
- ClickHouse 系列教程五:多种连接方法
文章目录 clickhouse-client HTTP 接口 JDBC Python接口 ClickHouse系列教程: ClickHouse系列教程 clickhouse-client 你可以通过c ...
- ClickHouse系列教程四:允许远程连接 allow remote access
ClickHouse系列教程: ClickHouse系列教程 先查看ClickHouse server端监听端口的状态: root@ubuntu:/var/lib/clickhouse/# lsof ...
最新文章
- 爬虫9-淘宝商品信息定向爬虫
- OVS之vhost-net中VM通信(九)
- mysql variables_通过什么命令能够改变mysql的variables的变量里的值?
- 当Tomcat遇上Netty,我这一系列神操作,同事看了拍手叫绝
- python文件操作的一般步骤_Python基础之文件操作
- 蚂蚁动态卡片,让App首页实现敏捷更新
- Unable to instantiate SparkSession with Hive support because Hive classes are not found
- 看我如何绕过Cloudflare 的 SQL 注入过滤
- Java RMI远程方法调用学习总结
- imx385驱动、imx307驱动、imx327驱动调试记录
- clustalX2使用以及相关的问题
- Python排序算法(四)——插入排序
- 五线谱入门,程序员也可以玩音乐
- 微信网页授权并获取用户信息
- MySql ORDER BY排序用法
- 文件包含漏洞 文件伪协议利用
- 第五章语言模型:n-gram
- el-form 清除表单验证结果
- vue组件中的data为什么是一个函数
- 【Unity3d日常开发】Unity3D中实现热力图、风向图、温度图效果
热门文章
- 5.Scrapy与相关应用
- 【错误归纳】E: Sub-process /usr/bin/dpkg returned an error code (1)子进程 已安装 post-installation 脚本 返回了错误号 1
- linux下压缩和解压的命令汇总
- 零基础入门学习Python(13)-字符串
- 微生物相关网络构建教程:MENA, LSA, SparCC和CoNet
- Cell Host综述-建立因果关系:合成菌群在植物菌群研究中的机会
- Nature:人工甜味剂改变小鼠肠道菌群组成及功能
- R语言ggplot2可视化:可视化堆叠的直方图、添加每个分组的每个bin的计数标签、在堆叠直方图的bin中的每个分组部分添加数值标签
- Python使用matplotlib可视化多个时间序列数据、添加双Y轴、以显示具有不同尺度的时间序列数据(secondary y axis)
- R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性