导入总览
所有文档

          数据仓库 Palo

          导入总览

          支持的数据源

          Palo 提供多种数据导入方案,可以针对不同的数据源进行选择。

          数据源 导入方式
          百度对象存储(BOS)、HDFS、AFS 使用 Broker Load 导入数据
          本地文件 导入本地数据
          百度消息服务(Kafka) 订阅 Kafka 日志
          MySQL、Oracle、PostgreSQL 通过外部表同步数据
          通过 JDBC 导入数据 使用JDBC同步数据
          导入 JSON 格式数据 JSON 格式数据导入说明
          MySQL binlog 敬请期待

          数据导入总体说明

          Palo 的数据导入实现有以下共性特征,这里分别介绍,以帮助大家更好的使用数据导入功能

          原子性保证

          Palo 的每一个导入作业,不论是使用 Broker Load 进行批量导入,还是使用 INSERT 语句进行单条导入,都是一个完整的事务操作。导入事务可以保证一批次内的数据原子生效,不会出现部分数据写入的情况。

          同时,一个导入作业都会有一个 Label。这个 Label 是在一个数据库(Database)下唯一的,用于唯一标识一个导入作业。Label 可以由用户指定,部分导入功能也会由系统自动生成。

          Label 是用于保证对应的导入作业,仅能成功导入一次。一个被成功导入的 Label,再次使用时,会被拒绝并报错 Label already used。通过这个机制,可以在 Palo 测做到 At-Most-Once 语义。如果结合上游系统的 At-Least-Once 语义,则可以实现导入数据的 Exactly-Once 语义。

          关于原子性保证的最佳实践,可以参阅 导入事务和原子性

          同步和异步

          导入方式分为同步和异步。对于同步导入方式,返回结果即表示导入成功还是失败。而对于异步导入方式,返回成功仅代表作业提交成功,不代表数据导入成功,需要使用对应的命令查看导入作业的运行状态。

          支持的数据格式

          不同的导入方式支持的数据格式略有不同。

          导入方式 支持的格式
          Broker Load Parquet,ORC,csv,gzip
          Stream Load csv, gzip, json
          Routine Load csv, json
          上一篇
          开始使用
          下一篇
          导入本地数据