数据导入简介

您可以将已有的外部的数据加载到 ByteHouse 表中。数据导入在 ByteHouse 中称为 导入任务。您可以在前端控制台中创建导入任务,并通过前端或 API 触发。

支持的数据源

我们目前支持以下数据源:

  • S3
  • Hive (1.0+)
  • Apache Kafka / Confluent Cloud (0.10+)
  • 本地文件

离线导入

离线导入适用于希望将已准备好的数据一次性加载到 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