将hdfs数据快速导入clickhouse,并通过linux客户端模式导入array 类型数据

本文介绍了如何利用clickhouse-client通过9000端口快速将HDFS数据导入ClickHouse,替代较慢的JDBC方式。针对Array类型数据,提出通过字符串格式在HDFS存储,然后在ClickHouse中自动转换为Array(String)类型的解决方案,详细步骤包括删除ClickHouse分区、HDFS文件处理和导入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景:开始研究使用clickhouse,在检索clickhouse官网(https://clickhouse.tech/docs/en/)的时候看到jdbc 通过8123端口进行数据的导入和连接。然后写了一个工具往clickhou导入文件,发现是真的慢,而且容易崩。于是研究别的导入方式,发现其实通过客户端命令走9000端口进行导入其实真的又快又稳定。于是彻底抛弃了jdbc的导入方式,直接通过shell脚本控制将hdfs文件导入到clickhouse中,官方对客户端导入的格式是有限制的 详情参考:(https://clickhouse.tech/docs/en/interfaces/formats/) ,其中array类型是比较通用的但是无法导入的类型,  不过可以通过字符串的方式导入。只要hdfs中数据格式如下,然后clickhouse为array(string),就会制动转换成array类型,通过这种方式导入。

['a1','a2','a3','a4','a5','a6','a7','a8']

 

a.通过客户端将hdfs文件导入到clickhosue中, (为了脱敏,clickhouse的服务器ip 以及帐号密码等都处理了,按照需要填入即可)

#!/bin/sh
set -x
source /etc/profile
source ~/.bash_pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值