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,一经查实,立即删除!

相关文章

大模型相关资料

1、训练框架 1.1 DeepSpeed paper: https://arxiv.org/pdf/1910.02054.pdf相关资料: [译] DeepSpeed:所有人都能用的超大规模模型训练工具 【LLM工程篇】deepspeed | Megatron-LM | fasttransformer 分布式机器学习里的 数据并行 和 模型并行 各是什么…

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

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

导出zoedepth的onnx模型并基于gradio实现在线部署

运行环境说明,其依赖: torch + python-opencv + onnxruntime + gradio + numpy + einops 导出onnx后运行环境依赖: python-opencv + onnxruntime + gradio + numpy + einops 1、 前置修改 1.1 ZoeDepth运行前准备 参考使用ZoeDepth生成深度估计图 ,下载项目:https://gi…

浙大恩特客户资源管理系统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…

C++ Webserver从零开始:基础知识(二)——高级I/O函数

前言 本章将介绍一部分Linux高级I/O函数&#xff0c;这部分函数我不会像第一章那样每个参数都去介绍它的作用&#xff0c;因为它们并不像基础API那样经常使用 但是这一章的API可以大大提高最终Webserver的工作效率&#xff0c;所以我会简要介绍每个函数的大概作用。 读者在了…

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

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

uniapp——自定义导航栏的封装

为什么需要封装自定义导航 首先如果开发的是微信小程序&#xff0c;那么在安卓环境下导航栏标题是默认靠左对齐的&#xff08;虽然你在微信开发者工具上看到的依旧是居中展示&#xff09;&#xff0c;而在ios环境则是居中展示的。很多时候我们需要对整个项目有一个主题色或者公…

一步直达 - CDPATH的妙用

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

(每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第6章 项目管理理论(一)

博主2023年11月通过了信息系统项目管理的考试&#xff0c;考试过程中发现考试的内容全部是教材中的内容&#xff0c;非常符合我学习的思路&#xff0c;因此博主想通过该平台把自己学习过程中的经验和教材博主认为重要的知识点分享给大家&#xff0c;希望更多的人能够通过考试&a…

直线模组的适用性

直线模组是由直线运动导向部件和滑块组成的&#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;实现了空心轴角度编码器的高效自动校…

GitHub高级搜索技巧

GitHub高级搜索技巧 in:name <关键字> 仓库名称带关键字查询 in:description <关键字> 仓库描述带关键字查询 in:readme <关键字> README文件带关键字查询 stars(fork): >() <数字> <关键字> star或fork数大于(或等于)指定数字的带关键字查…

RAG词嵌入召回质量评估

一、目录 1 采用官方评估器进行评估 2 Open Ai的key分享 3 采用gpt 生成词嵌入的训练集 4 微调sentence_transformer模型 5 评估sentence_transformer模型 二、实现 官方网址&#xff1a;https://github.com/run-llama/finetune-embedding/blob/main/evaluate.ipynb 1.采用官…

红日靶场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启动&…

QT中程序执行时间精准计算的三种方法及对比

一.QT程序在提升程序性能的调试中经常要计算一段程序的执行时间&#xff0c;下面介绍两种简单的实现方式&#xff0c;精确度都可以达到ms。 1.方式一 &#xff08;1&#xff09;代码&#xff1a; #include <QDateTime> qDebug() << "Current_date_and_tim…