更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
 
在数据分析场景中,企业使用的数据通常具备来源多样化的特点,如支付交易记录、用户行为等,且数据格式各异,有的为行式存储结构,有的为列式存储结构。这就要求企业数仓具备一定的数据转换能力。
 
传统方式是采用Extract-Transform-Load (ETL)来将业务数据转换为适合数仓的数据模型,然而,这依赖于独立于数仓外的ETL系统,导致维护成本较高。但随着云计算时代的到来,云数据仓库具备更强扩展性和计算能力,也要求改变传统的ELT流程。
 
火山引擎ByteHouse是一款基于开源ClickHouse推出的云原生数据仓库,为用户提供极速分析体验,能够支撑实时数据分析和海量数据离线分析,同时还具备便捷的弹性扩缩容能力,极致分析性能和丰富的企业级特性。凭借其强大的计算能力,火山引擎ByteHouse目前已全面支持Extract-Load-Transform (ELT)的能力,让用户免于维护多套异构系统,产品易用性实现飞跃。
 
 
通过ByteHouse的ELT能力,用户只需将数据导入,用自定义SQL语句在ByteHouse内部进行数据转换,无需依赖独立的ETL系统及资源。具体来说,ByteHouse主要通过以下三个能力实现ELT能力:
 
首先,长任务管理。ByteHouse的查询时间为秒级,一旦查询中出故障,系统会直接返回错误并重试。在ETL场景下,如果一个任务已经执行50分钟才发生故障,重试意味着浪费了前50分钟的资源,影响任务推进。在ByteHouse中,SQL查询会被转化为一系列的算子,研发团队则通过提升算子的容错能力,来应对长时间查询下的系统故障问题,即当某个算子无法获得足够的内存时,系统允许该算子将一部分数据缓存在磁盘上,保证在资源紧张的情况下仍能够完成工作。
 
其次,异步提交能力。面对大量长耗时的ETL任务时,传统的同步执行方式需要客户端等待服务端返回,容易出现超时问题,影响后续任务执行,而ByteHouse提供的异步提交能力,通过客户端的间歇性轮训来获得用户任务的最终状态,由此保障任务在规定时间内完成。
 
最后,查询队列。当面临大量离线加工请求时,系统会出现超载。ByteHouse为此提供了查询队列能力,允许用户从队列大小、总CPU占用率、总内存占用率三个维度定义一个队列。
 
具体来说,当用户向某队列提交查询时,ByteHouse可以通过组件监听各个队列中的查询指标,如果队列未达到上限,则会将查询入队,否则拒绝。除此之外,ByteHouse还会检查队列的资源利用率,当空闲资源高过某阈值时,自动将等待中的查询出队。利用查询队列,用户在编排ETL任务时无需担心底层资源过载,让开发更加便捷。
 
长任务管理、异步提交和查询队列是火山引擎ByteHouse ELT的核心能力。未来,ByteHouse也会进一步迭代,支持转换函数、长任务容错、优先级队列等更丰富ELT功能,为用户提供更极致、更便捷的使用体验。
 
 点击跳转火山引擎ByteHouse了解更多
 
 

如何实现数据流畅转换?火山引擎ByteHouse推出ELT能力的更多相关文章

  1. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  2. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  3. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  4. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  5. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  6. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  7. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  8. 腾讯大数据之TDW计算引擎解析——Shuffle

    转自 https://www.csdn.net/article/2014-05-19/2819831-TDW-Shuffle/1 摘要:腾讯分布式数据仓库基于开源软件Hadoop和Hive进行构建,T ...

  9. 大数据系列之并行计算引擎Spark介绍

    相关博文:大数据系列之并行计算引擎Spark部署及应用 Spark: Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎. Spark是UC Berkeley AMP lab ( ...

  10. WPF 基础 - Binding 对数据的转换和校验

    1. Binding 对数据的转换和校验 Binding 中,有检验和转换关卡. 1.1 数据校验 源码: namespace System.Windows.Data { public class B ...

随机推荐

  1. 词!自然语言处理之词全解和Python实战!

    本文全面探讨了词在自然语言处理(NLP)中的多维角色.从词的基础概念.形态和词性,到词语处理技术如规范化.切分和词性还原,文章深入解析了每一个环节的技术细节和应用背景.特别关注了词在多语言环境和具体N ...

  2. 🔥🔥面试官:你会如何设计QQ中的网络协议?

    引言 在设计QQ这道面试题时,我们需要避免进入面试误区.这意味着我们不应该盲目地开展头脑风暴,提出一些不切实际的想法,因为这些想法可能无法经受面试官的深入追问.因此,我们需要站在前人的基础上,思考如何 ...

  3. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-29-处理日历时间控件-中篇

    1.简介 上一篇的日历时间控件宏哥介绍的比较传统也是很常见的.宏哥不能说它很low,但是相比较一些高端.大气.上档次的日历时间控件,结果就一目了然了:确实很low. 2.被测网站 2.1高大上日历时间 ...

  4. 在Vue3中使用Element-Plus分页(Pagination )组件

    在Vue3中使用Element-Plus分页(Pagination )组件 开发过程中数据展示会经常使用到,同时分页功能也会添加到页面中. 记:在Vue3中使用Element-Plus分页组件与表格数 ...

  5. 字符串分割(String.Split)时连同分隔符一起返回

    今天有个群友问了这个问题:"字符串分割时,如何连同分隔符一起返回?". 我这里写了个String扩展类,模仿原生的Split方法,与原生Split方法的区别在于多了个返回分隔符的枚 ...

  6. Python将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    def SlowSnail(n): while n != 1: # 循环保证递归 for index in range(2, n + 1): if n % index == 0: n //= inde ...

  7. python内置模块——logging

    内置模块-logging loging模块是python提供的内置模块,用来做日志处理. 日志等级: 等级 释义 级别数值 CRITICAL(fatal) 致命错误,程序根本跑不起来 50 ERROR ...

  8. .NET微信网页开发之网页授权获取用户基本信息

    开发背景 当用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑.我们一般通过用户网页授权来无感实现用户登录,并获取用户的微信信息. 注意:用户管理类 ...

  9. [UOJ216][UNR#2 2A] Jakarta Skyscrapers

    印尼首都雅加达市有 $10^{18}$ 座摩天楼,它们排列成一条直线,我们从左到右依次将它们编号为 $1$ 到 $10^{18}$ .除了这 $10^{18}$ 座摩天楼外,雅加达市没有其他摩天楼. ...

  10. wait/sleep的不同

    整体的区别其实是有四个:1.所属类不同: sleep是线程中的方法,但是wait是Object中的方法.2.语法不同: sleep方法不依赖于同步器synchronized,但是wait需要依赖syn ...