clickhouse插入代替更新

1.使用ReplacingMergeTree引擎

CREATE TABLE xxx ( \
    id_card   String,\
    session_id String,\
    timestamp DateTime('Asia/Shanghai'),\
    realname  String,\
    phone_num String,\
    email     String
) \
ENGINE = ReplacingMergeTree() \
PARTITION BY toYYYYMMDD(timestamp) \
ORDER BY(id_card) \
PRIMARY key id_card \
SETTINGS storage_policy ='xxx'

使用ORDER BY排序键,作为判断数据是否重复的唯一键。这个表以id_card作为判断是否重复的唯一键。ReplacingMergeTree通过ORDER BY,表示判断唯一约束的条件。当分区合并之时,根据ORDER BY排序后,相邻重复的数据会被排除。

2.OPTIMIZE TABLE xxx(表名) FINAL        强制合并重复数据

例如:OPTIMIZE TABLE user_table FINAL

3.clickhouse导出数据,以制表符\t分隔、导出的数据不带引号。

clickhouse-client -h ip -u 用户名 --port=端口 --password=密码 --query='select * from xxx final FORMAT TabSeparated' > xxx(导出到哪个文件)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值