Append Only 的写入(不支持随机写) - 顺序和随机读 - 超大数据规模 - 易扩展,容错率高## HDFS 在字节跳动的发展字节跳动已经应用 HDFS 非常长的时间了。经历了 9 年的发展,目前已直接支持了十多种数... 从集群规模和数据量来说,HDFS 平台在公司内部已经成长为总数十万台级别服务器的大平台,支持了 10 EB 级别的数据量。**当前在字节跳动,** **HDFS** **承载的主要业务如下:**- Hive,HBase,日志服务,Kafka 数据...
数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计...
索引带来的性能收益是非常巨大的, 尽管 Hudi 已支持 Bloom Filter Index、Hbase index类型,但在字节跳动大规模数据入湖、探索分析等场景中,我们仍然碰到了现有索引类型无法解决的挑战,因此在实践中我们开发了 Bucket Index 的索引方式。业务场景挑战字节跳动某业务部门需要利用实时数据计算各种指标。在其业务场景中存在定期批量写入和流式写入场景,整个流程可以描述如下: 1. **批量场景会先将 binlog 导入存储...
数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计...
DataX 是开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。DataX 作为数据同步框架,它将不同数据源的同步抽象为从源头数据源读取数据的 Reader 插件,以及向目标端写入数据的 Writer 插件,使用 DataX 框架可以支持多种数据源类型的数据互通同步工作。详见:https://github.com/alibaba/DataX本文将为您介绍在火山引擎大...
Append Only 的写入(不支持随机写) - 顺序和随机读 - 超大数据规模 - 易扩展,容错率高## HDFS 在字节跳动的发展字节跳动已经应用 HDFS 非常长的时间了。经历了 9 年的发展,目前已直接支持了十多种数... 从集群规模和数据量来说,HDFS 平台在公司内部已经成长为总数十万台级别服务器的大平台,支持了 10 EB 级别的数据量。**当前在字节跳动,** **HDFS** **承载的主要业务如下:**- Hive,HBase,日志服务,Kafka 数据...
数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计...
连接器 描述 源表 结果表 维表 引擎版本 kafka 提供从 Kafka Topic 或 BMQ Topic 中消费和写入数据的能力。 ✅ ✅ ❌ Flink 1.11、Flink 1.16 upsert-kafka 提供以 upsert 方式从 Kafka Topic 中读取... 数据库读取全量数据和增量数据。 ✅ ❌ ❌ Flink 1.16 redis 提供对缓存数据库 Redis 的写入能力,支持做结果表、维表。 ❌ ✅ ✅ Flink 1.11、Flink 1.16 hbase-1.4 提供从 Hbase 表中读写数据的能力,...
索引带来的性能收益是非常巨大的, 尽管 Hudi 已支持 Bloom Filter Index、Hbase index类型,但在字节跳动大规模数据入湖、探索分析等场景中,我们仍然碰到了现有索引类型无法解决的挑战,因此在实践中我们开发了 Bucket Index 的索引方式。业务场景挑战字节跳动某业务部门需要利用实时数据计算各种指标。在其业务场景中存在定期批量写入和流式写入场景,整个流程可以描述如下: 1. **批量场景会先将 binlog 导入存储...
数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计...
索引带来的性能收益是非常巨大的, 尽管 Hudi 已支持 Bloom Filter Index、Hbase index类型,但在字节跳动大规模数据入湖、探索分析等场景中,我们仍然碰到了现有索引类型无法解决的挑战,因此在实践中我们开发了 Bucket Index 的索引方式。## 2.1 业务场景挑战字节跳动某业务部门需要利用实时数据计算各种指标。在其业务场景中存在定期批量写入和流式写入场景,整个流程可以描述如下: **1. 批量场景会先将 binlog 导入存储到...
写入数据湖,供下游业务使用。* **批量场景**会先将 binlog 通过 dump service 存储到 HDFS上,再按照小时/天级粒度更新到数据。 02-推荐场景 在字节的推荐场景中,为服务离线数据分析挖掘需求,需要将数据从类 Hbase的存储导出到离线存储中,并且可以提供高效的 OLAP 访问。因此我们基于数据湖构建BigTable 的 CDC。![picture.image](https://p6-volc-community-sign....
本文为您介绍下火山引擎 E-MapReduce(EMR)集群中的 Hudi 组件。 1 Hudi 基本概念Hudi 是一个流式数据湖平台,提供 ACID 功能,支持实时消费增量数据、离线批量更新数据,并且可以通过 Spark、Flink、Presto 等计算引擎... 对于更新数据,会先读取旧的 base file,然后合并更新数据,生成新的 base file。 2.2 MOR (Merge On Read)MOR 表适用于实时高频更新场景,更新数据会直接写入 log file 中,读时再进行合并。为了减少读放大的问题,会定...