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

clickhouse-client INSERT CSV/TSV时跳过错误行

clickhouse-client INSERT CSV/TSV时跳过错误行

在使用clickhouse-client向ck中导入csv文件时,当csv中有个别行数据格式错误时,整个文件就插入失败了,经常会导致丢数据。

经过一番搜索,发现ck提供了两个参数可以跳过错误行,其他的行正常入库,可以满足要求。

参数说明

input_format_allow_errors_num
设置从文本格式(CSV、TSV等)读取时可接受的最大错误数。

默认值为0。

如果在读取行时发生错误,但错误数仍然小于input_format_allow_errors_num时,则ck将忽略该行并转到下一行。

input_format_allow_errors_ratio
设置从文本格式(CSV、TSV等)读取时允许的最大错误百分比。错误百分比设置为介于0和1之间的浮点数。

默认值为0。

如果在读取行时发生错误,但错误比率小于input_format_allow_errors_ratio,则ck将忽略该行并转到下一行。

两个参数可以单独设置,当超过阈值时才抛出错误。

也可以同时设置,当两个阈值都超过时,再抛出错误。

参数设置方式

在配置文件中设置

在配置文件中添加以下行即可,是作用于整个ck的,不建议这么配置。

<input_format_allow_errors_num>10000</input_format_allow_errors_num>
<input_format_allow_errors_ratio>0.1</input_format_allow_errors_ratio>

在插入数据的时候配置

在插入时指定如下配置,配置是针对本次插入的,建议使用这种配置。

--input_format_allow_errors_num=1 
--input_format_allow_errors_ratio=0.1

使用案例

指定允许错误条数为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 
http://www.lryc.cn/news/274942.html

相关文章:

  • 直流稳压电源电路
  • 记录爬虫编写步骤
  • SpringBoot配置Swagger2与Swagger3
  • C/C++ 枚举
  • P12 音视频复合流——TS流讲解
  • 三维重建 3D Gaussian Splatting:实时的神经场渲染
  • Django Web框架
  • ARCGIS PRO SDK GeometryEngine.Intersection的GeometryDimensionType 枚举
  • Web网页开发-CSS层叠样式表1-笔记
  • 如何预防变种.halo勒索病毒感染您的计算机?
  • 短网址的新玩法,短到只剩域名
  • FA2016AA (MHz范围晶体单元超小型低轮廓贴片) 汽车
  • 【设计模式之美】面向对象分析方法论与实现(一):需求分析方法论
  • MySQL视图索引执行计划相关十五道面试题分享
  • vue绑定背景颜色或背景图片 和 nuxtjs动态设置background-image:
  • 案例099:基于微信小程序的外卖小程序的研究与开发
  • 数据库的设计
  • 数据比较时String未转成BigDecimal的坑
  • MySQL第三战:CRUD,函数1以及unionunion all
  • 业务项目中Echarts图表组件的封装实践方案
  • 鸿蒙开发之拖拽事件
  • C#使用纯OpenCvSharp部署yolov8-pose姿态识别
  • [AutoSar]基础部分 RTE 04 数据类型的定义及使用
  • c#调试程序一次启动两个工程(多个工程)
  • 轻松搭建企业知识库:10款必备工具推荐
  • 第三天学习记录
  • 内核线程创建-kthread_create
  • uniappVue3版本中组件生命周期和页面生命周期的详细介绍
  • 任务驱动式编程
  • python数据可视化之折线图案例讲解