【创新项目探索】大数据服务omnidata-hive-connector介绍

news2024/10/7 8:23:42

omnidata-hive-connector介绍

omnidata-hive-connector是一种将大数据组件Hive的算子下推到存储节点上的服务,从而实现近数据计算,减少网络带宽,提升Hive的查询性能。目前支持Hive on Tez。omnidata-hive-connector已在openEuler社区开源。

OmniData架构

OmniData是算子下推的总称。OmniData主要由以下四个部分组成:
1.  OmniData Client属于开源的部分,为不同的引擎提供相应的插件。对于Hive引擎,omnidata-hive-connector作为OmniData Client,并通过HAF注解和编译插件能力,实现自动下推任务到存储节点的OmniData Server中。
2.  Haf Host为lib库,部署在计算节点,对外提供任务卸载的能力,把任务下推到Haf Offload。
3. Haf Offload为lib库,部署在存储节点提供任务执行的能力,用来执行OmniData Server的作业。
4. OmniData Server提供算子下推的执行能力,接收Haf Host下推下来的任务。

图片

omnidata-hive-connector功能

1.  实现将Hive的Filter、Aggregation和Limit算子下推到存储节点进行计算,提前将数据过滤,降低网络传输数据量,提升性能。

2.  实现插件化的方式注册给Hive,以松耦合的方式实现算子的下推,可通过特性开关激活或使能。

3.  实现HDFS/Ceph文件系统的下推。

4.  实现Orc/Parquet文件存储格式的下推。

5.  实现Hive内置UDF(cast、instr、length、lower、replace、substr和upper)的下推。

omnidata-hive-connector应用场景

在大数据组件Hive典型硬件配置的存算分离场景下,分别运行标准测试用例TPC-H和omnidata-hive-connector。

可以看出运行omnidata-hive-connector后,10条SQL性能平均提升40%以上

图片

omnidata-hive-connector主要优化方法

1.  基于数据选择率,做到动态的下推。

omnidata-hive-connector通过Hive统计信息计算数据选择率(选择率越低,过滤的数据量越多),通过参数设置下推的选择率阈值,omnidata-hive-connector就能够动态地将选择率低于阈值的算子推到存储节点上执行,实现存储节点在本地读取数据进行计算,再将计算过滤之后的数据集通过网络返回到计算节点,提升网络传输效率,优化性能。除了数据选择率,还会根据算子是否支持,剩余资源是否足够等条件进行判断。

图片

2.  Filter的部分下推。

当一个Filter中同时存在支持下推和不支持下推的算子时,omnidata-hive-connector对不支持的算子构造成新的Filter走原生Hive计算流程,对支持下推的算子重新计算数据选择率并根据新的选择率判断是否下推。

图片

3.  存算协同,合理利用计算资源。

omnidata-hive-connector将算子下推到存储节点执行计算,可以有效地降低计算节点的CPU使用率,并且能将存储节点的CPU使用起来,提升总体计算效率。以TPC-H的SQL为例,优化前计算节点CPU平均使用率60%以上,优化后,计算节点CPU平均使用率在40%左右。

图片

图片

4.  提前过滤数据,减少网络传输。

数据的提前过滤是omnidata-hive-connector性能收益的主要来源,在存储节点过滤数据,减少网络传输,减少计算节点处理的数据量。

以TPC-H的SQL为例,SQL中含有多个Filter,优化前的算子需要跨网络从远端存储节点读取近60亿行的数据;优化后只需要传输过滤后的有效数据4000万行。执行效率提升60%以上。

图片

omnidata-hive-connector后续规划

本项目已开源在openEuler社区,omnidata-hive-connector特性会积极地支持新功能,后续规划如下:

1. 支持timestamp和decimal数据格式。

2. 支持BloomFilter算子的下推。

3. 支持用户自定义函数的下推。

代码地址:

https://gitee.com/openeuler/omnidata-hive-connector

欢迎感兴趣的朋友们参与到openEuler Bigdata SIG,探讨大数据领域技术。

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

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

相关文章

SwiftUI简单基础知识学习

以下是一个大致的学习计划,将SwiftUI的知识分成12个主题: SwiftUI 简介和基础语法视图和布局状态和数据流按钮和用户输入列表和数据展示导航和页面传递动画和过渡效果手势和交互绘制和绘图多平台适配网络和数据请求实际项目实践和高级主题 每个主题可以…

rac异常hang死故障分析(sskgxpsnd2)

x86虚拟化的平台麒麟系统的一套RAC。事件梳理20:24左右,发现一个节点hang死,关闭操作没有响应。关闭hang死节点,另一个节点也发生hang死,然后重启了另一个节点。 无效分析部分 检查gi的alert日志 有一个很大跨度的时间回退 再看…

辛普森近似求值

辛普森近似求解 公式证明任意一个对称区间的一元二次函数定积分拆分求和:strawberry: 总结 : 如果我们把六分之一乘进去我们只不过在指定的区间采集数据六个求平均,乘以采集数据区间的微元宽度(历史上不少的手稿用h,翻译为微元高度&#xff0…

Python虚拟环境venv下安装playwright介绍及记录

playwright介绍 Playwright是一个用于自动化Web浏览器测试和Web数据抓取的开源库。它由Microsoft开发,支持Chrome、Firefox、Safari、Edge和WebKit浏览器。Playwright的一个主要特点是它能够在所有主要的操作系统(包括Windows、Linux和macOS&#xff09…

OS 磁盘 从生磁盘到文件 文件使用磁盘

通过磁头和磁盘的电生磁,磁生电来写读通过往控制器写入扇区sect 磁头head 柱面port 等位置,通过DMA总线盗用技术,将信息读入内存或写入磁盘,重点在于传递数值,使用out指令,将几个信息拼接起来 寻道&#xf…

正中优配:消费电子概念走高,捷荣技术斩获5连板,凯旺科技等大涨

消费电子概念5日盘中走势活泼,截至发稿,凯旺科技涨超12%,华映科技、合力泰、瀛通通讯、捷荣技能、实益达等涨停,信维通讯涨超8%。值得注意的是,捷荣技能已连续5个交易日涨停,华映科技4日斩获3板。 消息面上…

【RabbitMQ】介绍及消息收发流程

介绍 RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 RabbitMQ 主要是为了实现系统之间的双向解耦而实…

【校招VIP】前端专业课考点之CSMA/CD协议

考点介绍: CSMA/CD,载波监听多点接入/碰撞检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点。它通过边发送数据边监听线路的方法来尽可能减少数据碰撞与冲突。采用分布式控制方法,所有结…

QT 一个简易闹钟

1 效果图 pro QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your c…

PE文件格式详解

摘要 本文描述了Windows系统的PE文件格式。 PE文件格式简介 PE(Portable Executable)文件格式是一种Windows操作系统下的可执行文件格式。PE文件格式是由Microsoft基于COFF(Common Object File Format)格式所定义的&#xff0c…

16|女性视角:李清照笔下独到的细腻

好诗相伴,千金不换。你好,我是天博。 前面我们说了这一章的主题是“见众生”,见众生就是读诗词里的人性。截止到现在,我们已经感受了杜甫面对人民的悲悯,刘禹锡面对贬谪的耿直,而今天这一讲,我…

智能合约安全,著名的区块链漏洞:双花攻击

智能合约安全,著名的区块链漏洞:双花攻击 介绍: 区块链技术通过提供去中心化和透明的系统彻底改变了各个行业。但是,与任何技术一样,它也不能免受漏洞的影响。一个值得注意的漏洞是双花攻击。在本文中,我们将深入研究…

告别复杂的绘画软件!选择Growly Draw for Mac,让你的创作更轻松

Growly Draw for mac是一款快速绘画应用,让你可以在Mac电脑上轻松创作美丽的绘画作品。这个应用程序并不像Photoshop那样拥有丰富的功能,但它的简约设计使得那些基本的绘画任务变得轻松便捷。 如果你对绘画充满热情,但缺乏专业的绘画技巧&am…

Python调用Jumpserver的Api接口增删改查

引言 Jumpserver是一款强大的堡垒机系统,可以有效管理和控制企业内部服务器的访问权限,提高网络安全性。本文将介绍如何使用Python编程语言,结合Jumpserver提供的API接口,实现对跳板机的管理和操作。 1、什么是Jumpserver&#…

气传导耳机怎么样?市面上热门气传导耳机推荐

​气传导耳机不仅能够提升幸福感还能听到周围环境声,大大提高安全性。如果你在寻找一款高品质的气传导耳机,又不知从何入手时,不要担心,我已经为你精心挑选了四款市面上综合表现很不错的气传导耳机,让你享受更好的音质…

达梦类型转换问题-float转换为varchar

表结构 CREATE TABLE "SYSDBA"."TABLE_2" ( "COLUMN_1" FLOAT, "COLUMN_2" NUMERIC(22,6)) STORAGE(ON "MAIN", CLUSTERBTR) ; 表数据: 查询,将numeric转换为float,再转换为varchar&…

Spring Boot 整合 Redis,使用 RedisTemplate 客户端

文章目录 一、SpringBoot 整合 Redis1.1 整合 Redis 步骤1.1.1 添加依赖1.1.2 yml 配置文件1.1.3 Config 配置文件1.1.4 使用示例 1.2 RedisTemplate 概述1.2.1 RedisTemplate 简介1.2.2 RedisTemplate 功能 二、RedisTemplate API2.1 RedisTemplate 公共 API2.2 String 类型 A…

通讯行业:看完这篇文章,我的认知被刷新了!

在现代社会中,通讯系统已经成为我们生活中不可或缺的一部分,它们支撑着信息传递、数据交流和社交互动。然而,通讯系统的可靠性和连续性依赖于电源的稳定供应。电源中断或波动可能导致通讯中断,给个人、企业和组织带来巨大的不便和…

Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看…

港陆证券:服装家纺公司上半年投资并购力度加大

9月1日,嘉曼服饰发布公告,为完善多品牌差异化开展战略,将以自有资金收买暇步士(Hush Puppies)品牌我国内地及香港、澳门区域IP财物。 面对服饰市场的激烈竞争,本年以来一些服饰类A股公司开启了“买买买”形…