前言
最近有一个需求需要把hive的数据同步到clickhouse,而且数据量还比较大,所以使用导出csv再导入clickhouse的那种方式并不适合。由于公司使用的服务器是某云服务器,Hadoop的底层不是使用的是原生的hdfs,导致没法使用datax。
waterdrop
waterdrop的官方地址:https://interestinglab.github.io/waterdrop-docs/#/zh-cn/v1/
Waterdrop 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,架构于Apache Spark 和 Apache Flink之上。
1)准备环境
使用 Waterdrop前请先准备好Spark和Java运行环境。java版本为jdk1.8
2)waterdrop下载和解压
下载地址:https://github.com/InterestingLab/waterdrop/releases
目前1.x的稳定版为v1.5.1。spark >= 2.3 下载 waterdrop-1.5.1.zip, spark < 2.3 下载waterdrop-1.5.1-with-spark.zip。
如果Github下载速度慢,可通过百度云(链接:https://pan.baidu.com/s/19GUwZPC2YBG9Pt7iuF9TNw 密码:upeb) 直接下载。
解压:unzip waterdrop-1.5.1.zip
3)更改启动目录
cd到waterdrop的config目录下,找到waterdrop-env.sh并打开,找到如果spark_home没有配置环境变量,需要把spark_home改了,如果配置有环境变量就不用管。
hive2clickhouse
1)通用配置
一个完整的Waterdrop配置包含spark, input, filter, output, 即:
spark {
...
}
input {