基于seatunnel连通hive数仓和clickhouse的实战(代码片段)

大数据技术与架构 大数据技术与架构     2022-11-29     623

关键词:

目前公司的分析数据基本存储在 Hive 数仓中,使用 Presto 完成 OLAP 分析,但是随着业务实时性增强,对查询性能的要求不断升高,同时许多数据应用产生,比如对接 BI 进行分析等,Presto不能满足需求,在这个阶段我们引入了ClickHouse,用来建设性能更强悍,响应时间更短的数据分析平台,以满足实时性要求,但如何连通 Hive 数仓和ClickHouse呢?没错,当然是 Seatunnel 啦!

官方推荐的
seatunnel1.5.7+spark2.4.8+scala2.11

全部解压安装到/u/module下即可

[hadoop@hadoop101 module]$ unzip /u/software/19.Seatunnel/seatunnel-1.5.7.zip -d /u/module/

[hadoop@hadoop101 module]$ tar -zxvf /u/software/19.Seatunnel/spark-2.4.8-bin-hadoop2.7.tgz -C /u/module

[hadoop@hadoop101 module]$ tar -zxvf /u/software/19.Seatunnel/scala-2.11.8.tgz -C /u/module

将 hive-site.xml 复制到 spark2/conf 目录下,这里取的是从 hive 复制到 Hadoop 配置目录下的

[hadoop@hadoop101 module]$ cp $HADOOP_CONF/hive-site.xml /u/module/spark-2.4.8-bin-hadoop2.7/conf

注意:如果你跟我一样,原来 Hive 默认使用Spark3,那么需要设置一个 Spark2 的环境变量

[hadoop@hadoop101 module]$ sudo vim /etc/profile

Hive:
drop table 

使用cat <<!EOF把变量传进去,把脚本生成在jobs文件夹中,然后再使用 seatunnel 的命令执行

关键点:

  1. 将输入参数封装成一个方法,方便一个脚本操作多个数仓表;

  2. 加入CK远程执行命令,插入前清除分区,以免导入双倍数据;

  3. 加入批量执行条件;

[hadoop@hadoop101 module]$ touch ~/bin/mytest.sh && chmod u+x ~/bin/mytest.sh && vim ~/bin/mytest.sh

注意:

  1. 这边 hive 中表压缩格式是 parquet+lzo ,读取出来没问题,插入时报错,我直接将之前搭建 Hadoop集群时$HADOOP_HOME/share/hadoop/common/hadoop-lzo-0.4.20.jar放到/u/module/spark-2.4.8-bin-hadoop2.7/jars(spark 目录下的 jars )下,即可解决

  2. 若 hive 表中有做分区,则需指定 spark.sql.hive.manageFilesourcePartitions=false

本文主要分享了一个基于 Seatunnel 的生产力脚本,介绍了如何连通 Hive 数仓与 ClickHouse ,将 ClickHouse 无缝加入离线数仓流程,并进行流程测试。实际生产使用时,数据传输速度飞快。


如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!

2022年全网首发|大数据专家级技能模型与学习指南(胜天半子篇)
互联网最坏的时代可能真的来了
我在B站读大学,大数据专业
我们在学习Flink的时候,到底在学习什么?
193篇文章暴揍Flink,这个合集你需要关注一下
Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS
Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点
我们在学习Spark的时候,到底在学习什么?
在所有Spark模块中,我愿称SparkSQL为最强!
硬刚Hive | 4万字基础调优面试小总结
数据治理方法论和实践小百科全书
标签体系下的用户画像建设小指南
4万字长文 | ClickHouse基础&实践&调优全视角解析
【面试&个人成长】2021年过半,社招和校招的经验之谈
大数据方向另一个十年开启 |《硬刚系列》第一版完结
我写过的关于成长/面试/职场进阶的文章
当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

seatunnel实战:hive_to_starrocks(代码片段)

一、前言SeaTunnel是一个分布式、高性能、可扩展的数据同步工具,它支持多种数据源之间的数据同步,包括Hive和StarRocks。可以使用SeaTunnel的Hive源连接器从Hive读取外部数据源数据,然后使用StarRocks接收器连接器将数据... 查看详情

hive数仓项目架构说明环境搭建及数据仓库基础知识(代码片段)

...育数仓分层架构--理解1.教育项目的架构说明项目的架构:基于clouderamanager大数据统一管理平台,在此平台之上构建大数据相关的软件(zookeeper,HDFS,YARN,HIVE,OOZIE,SQOOP,HUE...),除此以外,还使用FINEBI实现数据报表展示各个软件相关作用:zookee... 查看详情

hive数仓项目架构说明环境搭建及数据仓库基础知识(代码片段)

...育数仓分层架构--理解1.教育项目的架构说明项目的架构:基于clouderamanager大数据统一管理平台,在此平台之上构建大数据相关的软件(zookeeper,HDFS,YARN,HIVE,OOZIE,SQOOP,HUE...),除此以外,还使用FINEBI实现数据报表展示各个软件相关作用:zookee... 查看详情

终于有人把实时数仓和流式计算讲明白了!

...最近又逢双11,一些粉丝朋友就问:最近在学实时数仓,有没有双11实时数据大屏的实战资源?初学者也能做吗?我还真找到一个行业大佬的教学资源,讲得非常通透,只用3天,1个项目,就把离... 查看详情

hadoop离线day08--数据仓库apachehive(代码片段)

...当下大数据领域最著名的数仓软件ApacheHiveHive是什么数仓基于Hadoop的数仓如何理解和Hadoop关系核心 查看详情

sqldeveloper连接hive使用说明

...目的是:指导数据分析师怎么通过工具来访问Hive上的数仓和表,进而进行数据的查看和分析。二、说明本文档以windows操作系统64位为例以前一直用idea进行连接Hive就不多赘述了,本次是换成了Oracle公司的SQLDeveloper工具... 查看详情

hive数仓项目之基本优化方案学生出勤主题看板分析(代码片段)

往期内容:Hive数仓项目架构说明、环境搭建及数据仓库基础知识Hive数仓项目之数仓分层、数仓工具的使用Hive数仓项目之访问咨询主题看板:数据的采集、转换、分析导出 Hive数仓项目之访问咨询主题看板增量的流程Hive... 查看详情

hive数仓项目之需求分析建模分析优化方案(代码片段)

 往期内容:Hive数仓项目架构说明、环境搭建及数据仓库基础知识Hive数仓项目之数仓分层、数仓工具的使用Hive数仓项目之访问咨询主题看板:数据的采集、转换、分析导出Hive数仓项目之访问咨询主题看板增量的流程​... 查看详情

hive数仓项目之数仓分层数仓工具的使用(代码片段)

往期内容:Hive数仓项目架构说明、环境搭建及数据仓库基础知识今日内容:1)教育项目数仓分层(知道,明确每一层的作用)2)数仓工具的相关的使用(操作)2.1HUE相关的使用(操作HDFSHIVE,OOZIE)2.2sqoop的基本使用操作访问咨询主题看板... 查看详情

hive数仓项目之访问咨询主题看板增量的流程(代码片段)

 往期内容:Hive数仓项目架构说明、环境搭建及数据仓库基础知识Hive数仓项目之数仓分层、数仓工具的使用Hive数仓项目之访问咨询主题看板:数据的采集、转换、分析导出今日内容:访问咨询主题看板_增量的流程(操作)1.... 查看详情

电商数仓数仓环境搭建(代码片段)

1、hive环境搭建1.1、hive引擎简介Hive引擎包括:默认MR、tez、sparkHiveonSpark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。SparkonHive:Hive只作为存储元数据&... 查看详情

数仓实践:浅谈kimball维度建模

我们不管是基于Hadoop的数据仓库(如Hive),还是基于传统MPP架构的数据仓库(如Teradata),抑或是基于传统Oracle、MySQL、SQLServer关系型数据库的数据仓库,其实都面临如下问题:怎么组织数据仓库中... 查看详情

数据仓库之数仓分层及hive分层

目录一、数据仓库之数仓分层(一)为什么要分层?(二)数仓三层1、数据运营层:ODS(OperationalDataStore)2、数据仓库层:DW(DataWarehouse)3、数据应用层:APP(Applicati 查看详情

hive数仓建设手册(代码片段)

1数仓的分层及建模理论1.1数据仓库的用途整合公司所有业务数据,建立统一的数据中心产生业务报表,用于作出决策为网站运营提供运营上的数据支持可以作为各个业务的数据源,形成业务数据互相反馈的良性循环... 查看详情

电商数据仓库项目简介

参考技术A基于hadoop生态搭建的电商数据仓库,整体功能架构包含数据采集、数仓搭建、数据导出、数据可视化等。github地址电商数据仓库详情学习攻略请查看hadoop安装hive安装hive常用命令完善中...项目踩坑请查看Linux卸载安装Mysq... 查看详情

flinksql1.11流批一体hive数仓(代码片段)

...可期待正式版本的发布。Flink1.11中流计算结合Hive批处理数仓,给离线数仓带来Flink流处理实时且Exactly-once的能力。另外,Flink1.11完善了Flink自身的 查看详情

hive数仓项目之sqoop相关操作访问咨询主题看板_全量流程(代码片段)

 往期内容:Hive数仓项目架构说明、环境搭建及数据仓库基础知识Hive数仓项目之数仓分层、数仓工具的使用Hive数仓项目之访问咨询主题看板:数据的采集、转换、分析导出 Hive数仓项目之访问咨询主题看板增量的流程Hiv... 查看详情

[hive]数仓分层|用户纬度拉链表|维度建模

https://www.modb.pro/404?redirect=%2Fdb%2F241289一、数仓分层1、ODS层:原始数据层ODS(O=originalD=dataS=store)1)设计要点存储来自多个业务系统、前端埋点、爬虫获取的一系列数据源的数据。我们要做三件事:【1】保持数据... 查看详情