clickhouse数据库 数据插入 去重和覆盖

news/2025/10/18 9:01:36/文章来源:https://www.cnblogs.com/yuanleichina/p/19149178

一、存在则忽略(只插入全新用户)

from clickhouse_driver import Client
import pandas as pd
client = Client(host='localhost', port=9000, database='default')# 0) 待写入的新数据
df_new = pd.DataFrame({
'user_id': [1, 2, 3, 4],
'balance': [100, 200, 300, 400],
'snap_date': pd.to_datetime(['2025-10-17'] * 4)
})# 1) 正式表
CREATE TABLE IF NOT EXISTS balance_ignore
(
user_id UInt32,
balance Float64,
snap_date Date
) ENGINE = MergeTree()
ORDER BY user_id; -- 主键# 2) 落地临时表
client.execute('DROP TABLE IF EXISTS tmp_balance')
client.execute('CREATE TABLE tmp_balance AS balance_ignore ENGINE = Memory')
client.insert_dataframe('INSERT INTO tmp_balance VALUES', df_new)# 3) + 4) 反连接后插入
client.execute('''
INSERT INTO balance_ignore
SELECT t.*
FROM tmp_balance AS t
LEFT JOIN balance_ignore AS u USING (user_id)
WHERE u.user_id = 0 -- 0 表示“找不到”,ClickHouse 反连接特征值
''')# 5) 验证
print(client.query_dataframe('SELECT * FROM balance_ignore ORDER BY user_id'))

 

 二、存在则覆盖(Insert-or-replace)

思路
① 把表改成 ReplacingMergeTree(相同主键只保留最后一条)
② 无脑 INSERT 即可,无需任何过滤
③ 查询时加 FINAL 或再 GROUP BY 拿到“最新版本”

# -- 1) 覆盖型表
CREATE TABLE IF NOT EXISTS balance_replace
(user_id   UInt32,balance   Float64,snap_date Date
) ENGINE = ReplacingMergeTree()   -- 关键:按 ORDER BY 去重
ORDER BY user_id;      # 2) 第一次写入
client.insert_dataframe('INSERT INTO balance_replace VALUES', df_new)# 3) 模拟“余额变更”再写一次(user_id=1,2 余额变了)
df_update = pd.DataFrame({'user_id': [1, 2],'balance': [999, 888],'snap_date': pd.to_datetime(['2025-10-18'] * 2)
})
client.insert_dataframe('INSERT INTO balance_replace VALUES', df_update)

  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/939366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nacos客户端(接口调用者)如何感知被调用服务下线? (二)

🧩 一、问题背景 场景: 你有两个微服务:order-service(调用方 / Consumer)product-service(被调用方 / Provider)当 product-service 的一个实例下线(比如机器宕机或应用关闭)时, order-service 要知道它已…

2025 水泥墩源头厂家最新推荐排行榜:光伏 / 交通 / 围挡等多品类优选,实力品牌权威榜单发布

水泥墩作为市政基建、光伏电站、交通防护等领域的核心基础建材,其质量直接关系到工程安全与使用寿命。当前市场中厂家数量繁杂,部分企业为逐利偷工减料,导致产品强度不足、尺寸偏差大,难以抵御恶劣环境;部分厂家工…

2025年鸡精生产线/高速混合机/WDG农药生产线/鸡粉干燥设备/海鲜精干燥设备厂家推荐排行榜,调味料干燥设备/全自动配料/螺带混合机优质品牌!

2025年鸡精生产线/高速混合机/WDG农药生产线/鸡粉干燥设备/海鲜精干燥设备厂家推荐排行榜,调味料干燥设备/全自动配料/螺带混合机优质品牌!随着食品加工和化工行业的快速发展,相关生产设备的需求也在不断增加。鸡精…

2025 年过滤机厂家最新推荐排行榜:胶带式 / 盘式真空 / 脱水 / 带式真空 / 水平带式过滤机企业精选及选购指南

在工业生产与环保处理领域,固液分离环节的效率与质量直接关乎企业生产进度、产品品质及环保合规性,而过滤机作为该环节的核心设备,其重要性不言而喻。当前过滤机市场品牌繁杂、产品质量参差不齐,部分设备存在过滤速…

nacos客户端(接口调用者)如何感知被调用服务下线?(一)

Nacos 客户端(接口调用者)感知被调用服务下线的过程,依赖于 Nacos 的服务注册与发现机制、健康检查机制以及客户端缓存更新策略。核心逻辑是:Nacos 服务器实时维护服务实例状态,客户端通过 “主动拉取 + 被动推送…

2025年防水织带/鞋垫/编织包/针织包/飞织包包/松紧带/鞋带/织带/飞织鞋面厂家推荐排行榜,品质与创新的完美结合!

2025年防水织带/鞋垫/编织包/针织包/飞织包包/松紧带/鞋带/织带/飞织鞋面厂家推荐排行榜,品质与创新的完美结合!随着技术的不断进步和消费者需求的多样化,防水织带、鞋垫、编织包/针织包/飞织包包、松紧带、鞋带、织…

2025年压铸机械手厂家推荐排行榜,铝镁合金压铸周边自动化,压铸岛专业解决方案!

2025年压铸机械手厂家推荐排行榜,铝镁合金压铸周边自动化,压铸岛专业解决方案!随着制造业的不断发展和技术进步,压铸、压铸机械手、铝镁合金压铸周边自动化以及压铸岛等设备的需求日益增长。为了帮助筛选优质的压铸…

在MySQL中 redolog undolog binlog 写入的场景,顺序

🧩 一、三个日志的基本概念日志类型作用层面主要功能存放位置Redo Log InnoDB 引擎层 记录“数据页的物理修改” InnoDB 特有(ib_logfile)Undo Log InnoDB 引擎层 用于事务回滚 & MVCC InnoDB 表空间中Binlog …

2025年证卡打印机厂家权威推荐榜:含证件/PVC卡/IC卡/ID卡/智能卡,宝瑞迪/BOOD品牌优选!

2025年证卡打印机厂家权威推荐榜:含证件/PVC卡/IC卡/ID卡/智能卡,宝瑞迪/BOOD品牌优选!随着科技的不断进步和信息化管理的需求日益增长,证卡打印机在各行各业中的应用越来越广泛。无论是企业、学校、政府机关还是医…

2025 年压滤机厂家最新推荐榜:隔膜 / 污泥 / 真空 / 板框 / 带式压滤机优质企业精选指南

随着环保政策趋严与工业智能化升级,固液分离领域对压滤机的效率、适配性与智能化需求大幅提升。隔膜、污泥、真空等细分类型设备的性能差异显著,化工、矿山、市政等行业的需求更是千差万别。当前市场中,既有深耕多年…

灵芯派(基于Debian系统)

在灵芯派(基于Debian系统)上查看与宇树GO2机器狗连接的网口名称及状态,可以按照以下流程操作。使用 ethtool 命令是判断网口物理连接状态最直接有效的方法。 flowchart TDA[开始:查看网口连接状态] --> B[步骤一…

2025年大连网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/代运营公司权威推荐榜

2025年大连网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/代运营公司权威推荐榜随着互联网技术的飞速发展,网络营销已经成为企业不可或缺的一部分。在大连,众多企业在寻求网络营销推广、媒体投放、全案推广…

2025年手持光谱仪/光谱分析仪/便携式光谱仪厂家推荐榜单,矿石/元素/合金/金属/贵金属分析仪器首选!

2025年手持光谱仪/光谱分析仪/便携式光谱仪厂家推荐榜单,矿石/元素/合金/金属/贵金属分析仪器首选!随着科技的不断进步和工业需求的日益增长,手持光谱仪、光谱分析仪及便携式光谱仪在矿石/元素分析、合金/金属/不锈…

低空经济新纪元:AI驱动的智能无人机技巧与应用

低空经济新纪元:AI驱动的智能无人机技巧与应用2025-10-18 08:31 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display:…

详细介绍:增强版 bash “zsh“

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年法兰保护罩/阀门保温罩/法兰罩/法兰防溅罩/法兰保护套厂家推荐排行榜,专业防护与优质服务首选!

2025年法兰保护罩/阀门保温罩/法兰罩/法兰防溅罩/法兰保护套厂家推荐排行榜,专业防护与优质服务首选!随着工业技术的不断进步,法兰保护罩、阀门保温罩、法兰罩、法兰防溅罩和法兰保护套等产品在工业领域中的应用越来…

Aniyomi:功能强大的动漫影视播放阅读器

Aniyomi是一款基于Mihon开发的Android应用,提供完整的动漫、卡通、剧集播放和阅读功能,支持本地内容管理、多种观看模式和追番跟踪服务,让您轻松发现和享受喜爱的影视内容。Aniyomi 全功能播放器和阅读器,基于Miho…

2025年无心/外圆磨床,滚丝机,外圆抛光机,送料机,送料架,自动化,机械手厂家推荐排行榜,专业品质与高效性能之选!

2025年无心/外圆磨床、滚丝机、外圆抛光机、送料机、送料架、自动化、机械手厂家推荐排行榜,专业品质与高效性能之选!随着工业4.0的推进和智能制造的快速发展,无心/外圆磨床、滚丝机、外圆抛光机、送料机、送料架、…

2025年陶瓷过滤机厂家推荐排行榜,陶瓷真空/盘式/矿用/全自动/带式陶瓷过滤机,固液分离设备公司推荐!

2025年陶瓷过滤机厂家推荐排行榜:陶瓷真空/盘式/矿用/全自动/带式陶瓷过滤机,固液分离设备公司推荐!随着工业技术的不断进步和环保要求的日益严格,陶瓷过滤机在矿业、化工、制药等多个领域中的应用越来越广泛。陶瓷…

ICASSP 2022语音识别技术突破与创新

本文介绍了某中心在ICASSP 2022会议上发表的21篇语音识别相关论文,涵盖多模态训练、信号到解释转换、BERT重评分等前沿技术,展示了深度学习在自动语音识别领域的最新进展与应用前景。ICASSP 2022语音识别研究进展 本…