更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群
近日,《火山引擎云原生数据仓库 ByteHouse 技术白皮书》正式公布。白皮书简述了 ByteHouse 基于 ClickHouse 引擎的倒退历程,首次具体展示 ByteHouse 的整体架构设计及自研核心技术,为云原生数据仓库倒退,及企业数字化转型实战使用提供最新的参考和启迪。
以下为 ByteHouse 技术白皮书【数据导入导出】版块摘录。
技术白皮书(Ⅰ)(Ⅱ)(Ⅲ)精彩回顾:https://xie.infoq.cn/article/5c9471c7adb58e4bb43b69c4d
https://xie.infoq.cn/article/086b4e706965a6bd81f6a6ff2
https://xie.infoq.cn/article/a0dceef1588fe6c58247d3b37
ByteHouse 数据导入导出
ByteHouse 包含一个数据导入导出(Data Express)模块,负责数据的导入导出工作。
Data Express 模块架构图
Data Express 为数据导入 / 导出作业提供工作流服务和疾速配置模板,用户能够从提供的疾速模板创立数据加载作业。DataExpress 利用 Spark 来执行数据迁徙工作。
次要模块:
- JobServer
- 导入模板
- 导出模板
JobServer 治理所有用户创立的数据迁徙作业,同时运行内部事件触发数据迁徙工作。
启动工作时,JobServer 将相应的作业提交给 Spark 集群,并监控其执行状况。作业执行状态将保留在咱们的元存储中,以供 Bytehouse 进一步剖析。
ByteHouse 反对离线数据导入和实时数据导入。
离线导入
离线导入数据源:
- Object Storage:S3、OSS、Minio
- Hive (1.0+)
- Apache Kafka /Confluent Cloud/AWS Kinesis
- 本地文件
- RDS
离线导入实用于心愿将已筹备好的数据一次性加载到 ByteHouse 的场景,依据是否对指标数据表进行分区,ByteHouse 提供了不同的加载模式:
- 全量加载:全量将用最新的数据替换全表数据。
- 增量加载:增量加载将依据其分区将新的数据增加到现有的指标数据表。ByteHouse 将替换现有分区,而非进行合并。
反对的文件类型
ByteHouse 的离线导入反对以下文件格式:
- Delimited files (CSV, TSV, etc.)
- Json (multiline)
- Avro
- Parquet
- Excel (xls)
实时导入
ByteHouse 可能连贯到 Kafka,并将数据继续传输到指标数据表中。与离线导入不同,Kafka 工作一旦启动将继续运行。ByteHouse 的 Kafka 导入工作可能提供 exactly-once 语义。您能够进行 / 复原生产工作,ByteHouse 将记录 offset 信息,确保数据不会失落。
反对的音讯格局
ByteHouse 在流式导入中反对以下音讯格局:
- Protobuf
- JSON
更多的导入数据源以及导出性能正在不断完善中。
点击链接,立刻下载完整版白皮书👇
https://www.wjx.cn/vm/Ot0YJFq.aspx#
点击跳转 火山引擎云原生数据仓库 ByteHouse 理解更多