当前位置: 首页 > news >正文

CSV数据导入到ClickHouse数据库

问题描述:手头上有一个数据量较大的CSV文件,希望导入到指定的ClickHouse数据中,ClickHouse部署在服务器中。

解决方案:通常来说,数据量较少的CSV文件可以直接通过DBeaver软件的可视化界面导入数据。
若数据量较大,则建议将CSV文件传输到clickhouse所在服务器上,使用命令将数据导入到数据库中指定的表中。(提前在数据库中根据字段建立表结构)

step1:在数据库中建立对应的表

方法一:可以借助DBeaver的可视化界面,在里面编写SQL建表语句
方法二:在服务器中,进入clickhouse交互式界面。在交互式界面编写SQL语句建表。
clickhouse-client --host=127.0.0.1 --port 9000 --user default

step2:导入CSV数据

在服务器的命令行界面,执行如下语句:

  • 导入的CSV文件没有字段名称时:
    cat csv文件路径 | clickhouse-client --query="INSERT INTO 数据库.表名 FORMAT CSV"

  • 导入的CSV文件有字段名称时
    cat csv文件路径 | clickhouse-client --query="INSERT INTO 数据库.表名 FORMAT CSVWithNames"

  • 如果想要跳过首行,或者特定行,则可以使用如下命令:(1d表示跳过第一行)
    sed '1d' csv文件路径 | clickhouse-client --query="INSERT INTO 数据库.表名 FORMAT CSV"

  • (重要)clickhouse-client INSERT CSV/TSV时跳过错误行
    在使用clickhouse-client向ck中导入csv文件时,当csv中有个别行数据格式错误时,整个文件就插入失败了,经常会导致丢数据。
    案例:指定允许错误条数为10000,错误比率为0.1
    cat a.csv | clickhouse-client --host 127.0.0.1 --port 9000 --database default \ --user default --query="INSERT INTO tb_a FORMAT CSVWithNames " \ --format_csv_delimiter="|" --input_format_allow_errors_num=10000 \ --input_format_allow_errors_ratio=0.1

  • clickhouse官方推荐语句:在clickhouse-client客户端的安装目录下执行如下命令。
    cat <本地文件名> | ./clickhouse-client --host=<数据库连接地址> --port=<TCP端口号> --user=<数据库账号> --password=<数据库账号的密码> --query="INSERT INTO <ClickHouse表名> FORMAT <本地文件格式>";

http://www.lryc.cn/news/304881.html

相关文章:

  • 第十二天-ppt的操作
  • 计算机网络-网络层,运输层,应用层
  • Python爬虫学习
  • 台式电脑黑屏无法开机怎么办 电脑开机黑屏的解决方法
  • 【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器
  • 突破编程_C++_面试(数组(1))
  • 基于springboot+vue的靓车汽车销售网站(前后端分离)
  • 【知识整理】Git Commit Message 规范
  • HarmonyOS学习--三方库
  • 【服务器数据恢复】FreeNAS+ESXi虚拟机数据恢复案例
  • 【GPT-2】论文解读:Language Models are Unsupervised Multitask Learners
  • 基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022
  • 博客 cn 站搭建 v3 v3.1
  • 2024全国水科技大会暨流域水环境治理与水生态修复论坛(六)
  • Python实战:读取MATLAB文件数据(.mat文件)
  • spring boot3登录开发-3(账密登录逻辑实现)
  • Django后端开发——ORM
  • AI模型训练的初步整理
  • 【Java从入门到精通】Java Number Math 类
  • SQL字符集
  • openssl 生成nginx自签名的证书
  • adb push 使用
  • 【Docker】构建pytest-playwright镜像并验证
  • 算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习四(leetcode真题剖析)
  • 如何在java中使用 Excel 动态函数生成依赖列表
  • 07 MyBatis之高级映射 + 懒加载(延迟加载)+缓存
  • MT8791迅鲲900T联发科5G安卓核心板规格参数_MTK平台方案定制
  • java:Java中的数组详解
  • Modern C++ std::visit从实践到原理
  • 谷歌gemma2b windows本地cpu gpu部署,pytorch框架,模型文件百度网盘下载