HashData湖仓一体方案:方案概览与Hive数据同步

随着云计算、大数据、AI的发展和普及,各行各业的业务场景日益复杂,数据呈现出大规模、多样性的特点,企业对数据仓库的需求也进一步拓展至对多元化数据实时处理的场景。

数据湖是多元数据存储与使用的便捷选择,而云原生具有数据资产统一、基础资源成本低、高性能计算体验升级等优势,是数据湖未来部署的重要形态。湖仓一体架构结合了数据仓库和数据湖的性能优势,在成本、灵活性、事务一致性、多元数据分析等方面具备显著的优势,可以为企业提供高效、兼容、低成本的数据存储和管理解决方案,帮助企业更好地实现数据驱动决策和业务创新。

在这次的直播中,我们介绍了HashData对湖仓一体方案的思考,并对Hive数据同步进行详细讲解和演示。以下内容根据直播文字整理。

方案概览

随着全行业数字化转型的推进,数据业务场景不断涌现,数据总量持续增长,云原生数据湖服务成为实现业务的技术支持。

在企业数字化建设过程中,由于采用技术路线不同、且形态各异,异构数据量逐渐增加,各项业务对数据的时效性要求也不一样,形成了混合数据生态。

图1:HashData湖仓一体方案架构示意图

HashData作为一款满足数据湖场景的云原生数据仓库,提供了外部表和连接器两类组件,帮助企业实现Data Fabric架构,并基于EPP引擎进行并行、高速的数据访问,实现与企业混合数据生态的无缝集成,可以支撑以下典型应用场景:

  • 构建数据联邦,无需搬迁数据,实现多数据源联邦查询;
  • 连接各类数据源,完成数据采集(批量、实时);
  • 与Hive、Hudi/Iceberg、Spark等集成,构建企业级的湖仓一体的数据平台。

元数据存储与同步

传统MPP架构的数据库,存储、计算紧耦合,数据存储在本地系统,存储能力的扩展通过增加集群节点实现,造成计算资源严重浪费;同时随着数据量的增长,每个集群的数据无法做到有效共享,导致“数据孤岛”现象。

HashData云数仓通过元数据、计算和存储三层解耦的架构设计,解决了传统MPP 数据库并发受限、扩缩容不灵活等难题。

HashData的元数据服务层管理各类元数据,面向所有计算集群,提供统一的元数据服务,保证多个计算集群面对统一的数据视图,进行一致性访问

HashData的元数据服务分成三个层次:调度层、无状态服务层、元数据持久层。其中,元数据服务通过全球可访问的分布式系统提供,负责数据持久化的对象存储使用FoundationDB,中间的计算层则实现了完全无状态化。

为避免出现“数据孤岛”和冗余,HashData采用共享存储架构,任何一个计算集群都可以去访问同一份数据,所有集群共享同一份元数据,彻底消除“数据孤岛”和冗余,确保数据的实时性和一致性。

通过统一共享的元数据集群,HashData可以确保用户在管理数据资产的时候,元数据集群可以实现按需搭建、横向扩展,帮助用户安全、平滑实现应用在集群间的迁移,实现数据资产的统一。同时,HashData通过统一的共享存储,可以兼容更多类型的异构数据。

HMS服务与异构数据一站式查询方案

Hive作为一款基于Hadoop的数仓工具,凭借出色的大数据处理能力和稳定的性能,被许多大中型企业应用于海量低价值密度数据分析领域,但其在处理异构文件和时效性方面存在不足,在实现湖仓一体化时,数据迁移往往耗时漫长,无法满足当前企业对数据分析实时性的要求。

为了保证数仓能够实时、快速地访问、分析数据湖内的Hive数据,HashData研发了对HMS(Hive Metastore)异构数据的一站式查询方案,使用Kafka连接器作为中间件,打通数仓与数据湖,实现了对主动同步、被动同步、异步同步与按需同步的完全支持。

图2:HMS服务与异构数据一站式查询方案架构图

Kafka连接器作为开源、可靠、可扩展的流式传输数据的工具,可以基于数据量和数据时间去做同步,使得大量数据集合移入和移出变得简单,也解决了企业对兼容性的顾虑。此外,通过Kafka来实现数据同步,可以确保Hive集群保持无损状态。

在实际落地时,HashData数仓部署成功后,Kafka可以直接拉取需求服务。对于客户来说,免去了Hive表数据导出、传输等繁琐的流程,让用户专注于业务数据分析。此外,Kafka还具备过滤机制,可以对某些异常的操作和场景进行限制,用户可以有选择性地对数据进行同步。

HashData在实现Hive数据同步的时候,所有的标准都基于MetaStore数据服务的开源路线,进一步降低了客户产品兼容、适配的工作量。

同时,在建立HiveMetaStore的init()办法中,HashData创立了三种监听形式:MetaStorePreEventListenerMetaStoreEventListenerMetaStoreEndFunctionListener,通过监听数据变更通知,按需发送到Kafka,确保元数据能够同步变更,保障系统的稳定性。

结语

HMS服务与异构数据一站式查询方案设计初衷,旨在通过轻量级、简单化的技术架构,降低企业湖仓建设过程中产品选型、数据管理的难度和成本,高效发挥湖仓一体低成本、高可用、易拓展的优势,帮助企业建立统一治理、湖仓一体的云原生数据分析平台。

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

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

相关文章

谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)

问题原因 Unity应用(target SDK 34)上线到GooglePlay,有用户反馈fold5设备上(Android14系统)疯狂闪退,经测试,在小米手机Android14系统的版本复现成功了,奇怪的是apk直接安装没问题,而打包成aa…

浙大恩特客户资源管理系统CrmBasicAction.entcrm接口存在任意文件上传漏洞

@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 浙大恩特客户资源管理系统接口简介 微信公…

搭建eureka-server

首先要搭建注册中心服务端&#xff1a;eureka-server&#xff0c;这必须是一个独立的微服务 1.创建项目 创建maven工程即可 2.引入依赖 提示&#xff1a;starter是springboot中的自动装配&#xff0c;在这个依赖里&#xff0c;已经帮我们把eureka的所有配置都做好了 <de…

构建一个最新版本 Maven 项目

文章目录 构建一个最新版本 Maven 项目1. 所用各种软件的版本2. 踩过的坑3. 构建项目过程4. 项目打包方式 构建一个最新版本 Maven 项目 截止 2024 年 1 月 13 日&#xff0c;Apache 官网上 Maven 的最新安全版本为 3.9.6&#xff0c;下载、安装及配置方法见之前的博客&#x…

SUKER书客重磅发布—书客Sun立式护眼台灯,掀起光学护眼养眼新纪元

SUKER书客作为台灯行业的引路者&#xff0c;在台灯中取得颠覆行业的成绩后&#xff0c;并没有就此停下脚步&#xff0c;终于在近日的新品发布中揭露了神秘面纱——书客Sun立式护眼灯&#xff0c;再现创新光学护眼养眼&#xff0c;突破行业护眼天花板&#xff0c;帮助孩子们预防…

一步直达 - CDPATH的妙用

文章目录 一步直达 - CDPATH的妙用更多信息 一步直达 - CDPATH的妙用 适用于贼长的目录路径 如果你的目录路径贼长&#xff0c;一定要用一下这个命令。 变量CDPATH定义了目录的搜索路径&#xff0c;这个设置特别适合经常需要进入到某个目录&#xff0c;此时这个设置就及其有用…

直线模组的适用性

直线模组是由直线运动导向部件和滑块组成的&#xff0c;是一种常见的机械元件&#xff0c;主要用于传输力和运动&#xff0c;其结构简洁&#xff0c;安装方便&#xff0c;耐用高效&#xff0c;广泛应用于各行各业&#xff0c;并且可以通过调整其长度和直径来适应不同的应用场景…

rust跟我学:文件时间属性获得方法

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎样获得杀毒软件的病毒库时间的。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址…

Vue-路由-声明式导航

1. 导航链接 vue-router 提供了一个全局组件 router-link (取代 a 标签) 能跳转&#xff0c;配置 to 属性指定路径(必须) 。本质还是 a 标签 &#xff0c;to 无需 #能高亮&#xff0c;默认就会提供高亮类名&#xff0c;可以直接设置高亮样式 如&#xff1a; <div class&…

反序列化提升刷题

例题&#xff1a; <?php //flag is in flag.php highlight_file(__FILE__); error_reporting(0); class Modifier { private $var; public function append($value) { include($value); echo $flag; } public function __invoke(){ …

LabVIEW编码器自动校准系统

简介 在工作中&#xff0c;精确的角度测量和校准对于保持设备精度至关重要。开发了一套自动化角度编码器校准系统&#xff0c;利用了LabVIEW的强大功能。该系统以全圆连续角度标准装置为基础&#xff0c;配合二维导轨装夹系统&#xff0c;实现了空心轴角度编码器的高效自动校…

红日靶场5

目录 前言 外网渗透 信息收集 1、arp探测 2、nmap 3、nikto 4、whatweb 5、gobuster 6、dirsearch 漏洞探测 ThinKPHP漏洞 漏洞利用 get shell 内网渗透 信息收集 CS 启动&#xff01; CS连接 CS信息收集 1、hashdump 2、猕猴桃 3、端口扫描 MSF启动&…

项目架构之Zabbix部署

1 项目架构 1.1 项目架构的组成 业务架构&#xff1a;客户端 → 防火墙 → 负载均衡&#xff08;四层、七层&#xff09; → web缓存/应用 → 业务逻辑&#xff08;动态应用&#xff09; → 数据缓存 → 数据持久层 运维架构&#xff1a;运维客户端 → 跳板机/堡垒机&#x…

JVM基础(4)——JVM存活判定算法

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

C++ 实现十大排序算法

教你手撕排序&#xff0c;这里有一个概念就是稳定排序。假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;这些记录的相对次序保持不变&#xff0c;即在原序列中&#xff0c;r[i]r[j]&#xff0c;且r[i]在r[j]之前&#…

第十三讲 单片机驱动彩色液晶屏 bin档的烧录方法

单片机驱动TFT彩色液晶屏系列讲座 目录 第一讲 单片机最小系统STM32F103C6T6通过RA8889驱动彩色液晶屏播放视频 第二讲 单片机最小系统STM32F103C6T6控制RA8889驱动彩色液晶屏硬件框架 第三讲 单片机驱动彩色液晶屏 控制RA8889软件:如何初始化 第四讲 单片机驱动彩色液晶屏 控…

Java生成四位数随机验证码

引言&#xff1a; 我们生活中登录的时候都要输入验证码&#xff0c;这些验证码是为了增加注册或者登录难度&#xff0c;减少被人用脚本疯狂登录注册导致的一系列危害&#xff0c;减少数据库的一些压力。 毕竟那些用脚本生成的账号都是垃圾账号 本次实践&#xff1a;生成这样的…

CMake+QT+大漠插件的桌面应用开发

文章目录 CMakeQT大漠插件的桌面应用开发简介环境项目结构配置编译环境代码 CMakeQT大漠插件的桌面应用开发 简介 在CMake大漠插件的应用开发——处理dm.dll&#xff0c;免注册调用大漠插件中已经说明了如何免注册调用大漠插件&#xff0c;以及做了几个简单的功能调用&#x…

【STM32】STM32学习笔记-USART串口收发HEX和文本数据包(29)

00. 目录 文章目录 00. 目录01. 串口简介02. 串口收发HEX数据包接线图03. 串口收发HEX数据包示例104. 串口收发HEX数据包示例205. 串口收发文本数据包接线图06. 串口收发文本数据包示例07. 程序示例下载08. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常…

科研绘图(五)玫瑰图

柱状图的高级平替可视化 “玫瑰图”&#xff0c;通常也被称为“科克斯图”。它类似于饼图&#xff0c;但不同之处在于每个部分&#xff08;或“花瓣”&#xff09;的角度相同&#xff0c;半径根据它表示的值而变化。这种可视化工具对于周期性地显示信息非常有用&#xff0c;比…