我是靠谱客的博主 细腻裙子,最近开发中收集的这篇文章主要介绍mysql数据导入到clickhouse数据长度超长,clickhouse的Int长度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

概要

mysql的bigint20长度是十进制的,clickhouse的Int32的长度是二进制的。large 10^{20} > 2^{32}

背景

因为当前公司的数据量从百万每天陡增到十几亿,所以之前老的数据处理程序承载不下,重新搭建了一套新的大数据架构。在给公司从0到1搭建数据集群的过程中,有一个需求需要定时将一个MySQL的表更新导入到clickhouse中。结果发现唯一ID在导入过程中变成了负数。对于这个字段的定义中:
mysql 是bigint20

clickhouse  是Int32

看上去clickhouse这个字段占用的空间大于mysql中的定义长度,不应该出现数据超长乱码的问题。

原因:

mysql 的bigint20 的数据范围是  -1 * 10^{19} ------- 10^{19} -1                (-10000000000000000000 到 10000000000000000000 -1)

clickhouse的Int32的数据范围是 -1 * 2^{31} ------------ 2^{31}-1  (-2147483647 到 2147483648)

解决方案

将clickhouse的字段长度增大

结果

成功解决问题

最后

以上就是细腻裙子为你收集整理的mysql数据导入到clickhouse数据长度超长,clickhouse的Int长度的全部内容,希望文章能够帮你解决mysql数据导入到clickhouse数据长度超长,clickhouse的Int长度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部