Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >快速将文件切割为多个小文件

快速将文件切割为多个小文件

作者头像
保持热爱奔赴山海
发布于 2022-01-11 05:30:31
发布于 2022-01-11 05:30:31
1.9K00
代码可运行
举报
文章被收录于专栏:DevOpsDevOps数据库相关
运行总次数:0
代码可运行

背景:

从DW那边拿到一个9kw行记录的数据库primary_key的csv文件,需要导入到mysql中,然后由业务上通过程序去进行消费及一系列的下游业务逻辑的处理。

目前难点在于如果把这个9kw的大的csv导入到数据库中,如果使用load data这种方式,势必会比较慢,因为load data这是单线程操作。

比较好的思路是先将这个大的csv文件拆分成N个小的csv文件,然后开多个screen去并发往数据库里面导入。

将大的csv拆分为N个小的csv,推荐使用下面的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unzip -p <zipfile> | split -C <size> --additional-suffix=".csv"

类似如下:

# root @ dev-ops in /tmp/aa [21:37:35] 
$ cat README.md | split -C 1000 --additional-suffix=".csv"

# root @ dev-ops in /tmp/aa [21:37:40] 
$ l
total 20K
-rw-r--r-- 1 root root 3.7K 2021-08-10 21:35 README.md
-rw-r--r-- 1 root root  770 2021-08-10 21:37 xad.csv
-rw-r--r-- 1 root root  965 2021-08-10 21:37 xac.csv
-rw-r--r-- 1 root root  981 2021-08-10 21:37 xab.csv
-rw-r--r-- 1 root root  977 2021-08-10 21:37 xaa.csv

然后开多个screen ,使用 load data infile 方式导入到mysql中。 达到提速的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据库的大日志文件处理技巧
在做数据库维护的时候,经常需要使用数据库日志来排查问题,有时候会遇到日志文件比较大,例如一个历史MySQL的slowlog上TB了,或者MongoDB的log上大几百G,通常这种情况下,我们有下面几个方法来处理日志。
AsiaYe
2022/05/17
1.2K0
Linux进阶命令-sed&split
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
770
Linux进阶命令-sed&split
TiDB Lightning导入超大型txt文件实践
TiDB 提供了很多种数据迁移的方式,但这些工具/方案普遍对MySQL比较友好,一旦涉及到异构数据迁移,就不得不另寻出路,借助各种开源或商业的数据同步工具。其实数据在不同系统的流转当中,有一种格式是比较通用的,那就是txt/csv这类文件,把数据用约定好的分隔符换行符等标记存放在一起,比如最常见的逗号分隔:
HOHO
2022/10/31
1.3K0
TiDB Lightning导入超大型txt文件实践
使用gitbook快速搭建文档中心
在研发一个系统,主要给公司内部同事用,按理说,简单点的话,搞个使用文档就行了,但产品经理希望是做成一个文档中心,比如,你学习个新技术的时候,比如vue,一般有个在线的帮助文档,他的想法就是这种。
低级知识传播者
2023/10/25
3.1K0
使用gitbook快速搭建文档中心
【CSP-S】2023年信息学CSP-S之Linux知识点:目录操作和文件操作
孩子们平时很少使用Linux,所以这篇文章让孩子看2~3遍,大概有个印象,这部分分基本就能拿到。
小码匠
2023/08/31
1.5K0
【CSP-S】2023年信息学CSP-S之Linux知识点:目录操作和文件操作
linux基础命令介绍二:输入与输出
在第一篇介绍命令行接口时,我们是这样描述CLI的:是一种通过在终端窗口中键入文本命令来实现与计算机交互的接口。 这里简要说明一下终端的概念,历史上,控制台与终端都是硬件。其中控制台(console)是计算机本身就有的设备,一台计算机只有一个控制台。计算机启动的时候,所有的信息都会显示到控制台上。而终端(terminal)属于外围设备(显示器和键盘),通常通过串口与计算机相连,然后对计算机进行操作。计算机操作系统中,与终端不相关的信息,比如内核消息,后台服务消息,不会显示到终端上。由于控制台与终端都起着显示信息的作用,于是随着时间的推移,它们之间的区别也越来越模糊。现在,计算机硬件越来越便宜,通常不再连接以前那种真正意义上的“终端设备”了,终端和控制台由硬件的概念,逐渐演化成了软件的概念。当前所说的终端,比如linux中的虚拟终端,都是软件的概念。 如上一篇中提到的命令who的输出:
用户5030870
2019/04/11
3.9K0
linux基础命令介绍二:输入与输出
文件系统中的目录与切换操作
另外,cd - 为进入上一次的工作目录,如同 git checout - 切回上次的分支一样。
闻说社
2022/06/24
1.3K0
文件系统中的目录与切换操作
linux 命令
1.sha1 shasum *.* 2.md5 md5 *.* 3.查看目录下文件个数 ls -l |grep "^-"|wc -l ll -rt //按时间降序 | tac 是升序 4.查看当前所有目录大小 du -sh * 5.把文件夹下的某些文件名导入到txt中 find . -type f -name "*.xml" > test.txt 6.压缩包分卷 tar -jcf - xxx.tar | split -b 1400k - xxx.tar.bz2. cat xxx.tar.
全栈程序员站长
2021/04/07
5.3K0
GitHub-创建仓库与本地同步
1. 在Linux上安装Git 1 [root@mini05 ~]# yum install -y git 2 ……………… 2. 本地创建ssh-key信息 1 [root@mini05 ~]# ssh-keygen -t rsa 2 Generating public/private rsa key pair. 3 Enter file in which to save the key (/root/.ssh/id_rsa): 4 Created directory '/root/.ssh'.
踏歌行
2020/10/15
6470
GitHub-创建仓库与本地同步
liunx常用命令
待查看的目录:非必填的选项,一般情况下都是看当前目录,可省去;非当前目录时,需要指定要查看的目录。 参数:包含是否包含隐藏文件,是否显示文件的权限、大小、修改时间等,常用的有 -a表示包含隐藏文件 -lh表示查看文件的权限、修改时间、大小
努力在北京混出人样
2022/09/23
9690
git仓库的简单使用
git是分布式的仓库,我们不需要把代码上传或更新到某个特定的服务器上,所以它不需要依赖网络,我们可以在本地创建一个git仓库。
端碗吹水
2020/09/23
5600
git仓库的简单使用
sqoop的安装与使用
Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具。充分利用MapReduce并行特点以批处理的方式加快传输数据。发展至今主要演化了二大版本号。Sqoop1和Sqoop2。
全栈程序员站长
2022/07/10
7970
sqoop的安装与使用
怎么办,linux的常用命令就是记不住?于是每天推一些linux指令实践总结
前言 Linux可以说是前后端开发者必备的技能,那么阿沐本身大学主修Linux操作系统+嵌入式,虽然毕业之后并没与从事与操作系统方面开发;但是还是身在互联网,保持前后端开发工作,涉及到服务器部署、日志分析统计、vim编辑等等。linux的基础命令可以说我们必须掌握的,不然有的面试我们都过不了。所以万字总结linux实用的基本命令,小伙伴们收藏起来,每天必看必敲。😄 😄 😄 因为基础命令分工类别比较多,我就先来一份脑图补补: linux基础命令.png 1、help command 1.1 Bash 内
我是阿沐
2021/06/22
1.3K0
使用HBCK2工具修复HBase集群
HBCK2工具是修复工具,可用于修复Apache HBase集群,包括CDP中的Apache HBase集群。HBCK2工具是Apache HBase hbck工具的下一版本。
大数据杂货铺
2021/02/07
3.3K0
docker(常用软件安装)
我们每次改动nginx配置文件,都需要进入容器内部?十分麻烦,我要是可以在容器外部提供一个映射路径,达到在容器外部修改文件名,容器内部就可以自动修改?-v 数据卷 技术!
崔笑颜
2020/10/27
9670
docker(常用软件安装)
Linux系统之使用split切割日志文件
小胡同学的文章详尽解析了2022年山东省技能大赛的样题,从IP地址规划到设备初始化信息,再到具体任务的实施步骤,内容丰富且实用。特别是在网络平台搭建和网络安全设备配置与防护方面,提供了非常详细的指导,如Telnet登录的授权信息设置、SNMPv3的安全配置以及VLAN的安全机制等,对于参赛者来说是不可多得的学习资料。文章结构清晰,逻辑性强,适合初学者和参赛选手参考学习。
江湖有缘
2024/11/12
2270
Linux系统之使用split切割日志文件
我把云服务器,搭建成开发环境使用!—— 小伙伴开发项目,构建项目,更容易啦。
在几年前刚入手 Mac 电脑的时候,有不少伙伴问过我,这电脑有什么优势吗?又不能打游戏!是呀,能想到的就是没有广告、APP安装简单、UI风格细腻。但这些和 Windows 电脑好像也没有太大的差别,各有所好罢了。而且同等配置 Mac 还要贵不少。
小傅哥
2024/04/10
4420
我把云服务器,搭建成开发环境使用!—— 小伙伴开发项目,构建项目,更容易啦。
Elastic Stack之 Filebeat 6.7.1版本安装
1、截至目前Elasticsearch 版本已经更新到了7.10.1版本了,这里先使用Filebeat 6.7.1版本,给一个下载地址,如下所示:
别先生
2021/01/13
9300
gitlab-ci的简易入门—基于python项目的CI演示
使用github上开源的一个python的demo项目,地址为:https://github.com/imooc-course/docker-cloud-flask-demo 打开自己的gitlab,点击New project,把项目导入。
没有故事的陈师傅
2020/07/01
3.8K0
gitlab-ci的简易入门—基于python项目的CI演示
Delta Lake 学习笔记(一)
今天 Spark + AI Summit 2019 宣布开源了 Delta Lake 这个项目,关于这个项目的背景我就不赘述了,砖厂官网有很多介绍,包括项目的 Github 地址,大家可以上去看看,我也打算测一下,并且研究一下源代码,所以今天开始写一些探索这个项目的学习笔记。
runzhliu
2020/08/05
1.1K0
相关推荐
数据库的大日志文件处理技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验