CSV

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
所有文档
menu
没有找到结果,请重新输入

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
  • 文档中心
  • arrow
  • 数据仓库PALO
  • arrow
  • 开发指南
  • arrow
  • 数据导入
  • arrow
  • 文件格式
  • arrow
  • CSV
本页目录
  • 导入方式
  • 参数配置
  • 参数支持情况
  • 参数说明
  • 行分隔符
  • 列分隔符
  • 包围符
  • 转义符
  • 跳过行数
  • 裁剪双引号
  • 压缩格式
  • 使用示例
  • Stream Load 导入
  • Broker Load 导入
  • Routine Load 导入
  • MySQL Load 导入
  • TVF 导入

CSV

更新时间:2025-08-21

本文介绍如何在 PALO 中导入 CSV 格式的数据文件。PALO 支持灵活的 CSV 格式配置,包括自定义分隔符、字段包围符等,并提供多种导入方式以满足不同场景的数据导入需求。

导入方式

PALO 支持以下方式导入 CSV 格式数据:

  • Stream Load
  • Broker Load
  • Routine Load
  • MySQL Load
  • INSERT INTO FROM S3 TVF
  • INSERT INTO FROM HDFS TVF

参数配置

参数支持情况

下表列出了各种导入方式支持的 CSV 格式参数:

参数 默认值 Stream Load Broker Load Routine Load MySQL Load TVF
行分隔符 \n line_delimiter LINES TERMINATED BY 不支持 LINES TERMINATED BY line_delimiter
列分隔符 \t column_separator COLUMNS TERMINATED BY COLUMNS TERMINATED BY COLUMNS TERMINATED BY column_separator
包围符 无 enclose PROPERTIES.enclose PROPERTIES.enclose PROPERTIES.enclose enclose
转义符 \ | escape | PROPERTIES.escape | PROPERTIES.escape | PROPERTIES.escape | escape
跳过行数 0 skip_lines PROPERTIES.skip_lines 不支持 IGNORE LINES skip_lines
裁剪双引号 false trim_double_quotes 不支持 PROPERTIES.trim_double_quotes 不支持 trim_double_quotes
压缩格式 plain compress_type PROPERTIES.compress_type 不支持 不支持 compress_type

注意:

  1. Stream Load:参数直接通过 HTTP Header 指定,如:-H "line_delimiter:\n"
  2. Broker Load:参数通过 SQL 语句指定,其中:

    • 分隔符通过 COLUMNS TERMINATED BY, LINES TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("compress_type"="gz")
  3. Routine Load:参数通过 SQL 语句指定,其中:

    • 分隔符通过 COLUMNS TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("enclose"="\"")
  4. MySQL Load:参数通过 SQL 语句指定,其中:

    • 分隔符通过 LINES TERMINATED BY, COLUMNS TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("escape"="\\")
  5. TVF:参数通过 TVF 语句指定,如:S3("line_delimiter"="\n")

参数说明

行分隔符

  • 作用:指定导入文件中的换行符
  • 默认值:\n
  • 特点:支持多个字符组合作为换行符
  • 使用场景和示例:

    • Linux/Unix 系统文件:

      Plain Text
      1数据文件:
      2张三,25\n
      3李四,30\n
      4
      5参数设置:
      6line_delimiter:\n (默认值,可不设置)
    • Windows 系统文件:

      Plain Text
      1数据文件:
      2张三,25\r\n
      3李四,30\r\n
      4
      5参数设置:
      6line_delimiter:\r\n
    • 特殊程序生成文件:

      Plain Text
      1数据文件:
      2张三,25\r
      3李四,30\r
      4
      5参数设置:
      6line_delimiter:\r
    • 自定义多字符分隔符:

      Plain Text
      1数据文件:
      2张三,25||
      3李四,30||
      4
      5参数设置:
      6line_delimiter:||

列分隔符

  • 作用:指定导入文件中的列分隔符
  • 默认值:\t(制表符)
  • 特点:

    • 支持可见和不可见字符
    • 支持多字符组合
    • 不可见字符需要使用 \x 前缀的十六进制表示
  • MySQL 协议特殊处理:

    • 不可见字符需要额外增加反斜线
    • 如 Hive 的 \x01 在 Broker Load 中需要写成 \\x01
  • 使用场景和示例:

    • 常见可见字符:

      Plain Text
      1数据文件:
      2张三,25,北京
      3李四,30,上海
      4
      5参数设置:
      6column_separator:,
    • 制表符(默认):

      Plain Text
      1数据文件:
      2张三    25    北京
      3李四    30    上海
      4
      5参数设置:
      6column_separator:\t (默认值,可不设置)
    • Hive 文件(Stream Load):

      Plain Text
      1数据文件:
      2张三\x0125\x01 北京
      3李四\x0130\x01 上海
      4
      5参数设置:
      6column_separator:\x01
    • Hive 文件(Broker Load):

      Plain Text
      1数据文件:
      2张三\x0125\x01 北京
      3李四\x0130\x01 上海
      4
      5参数设置:
      6PROPERTIES("column_separator"="\\x01")
    • 多字符分隔符:

      Plain Text
      1数据文件:
      2张三||25||北京
      3李四||30||上海
      4
      5参数设置:
      6column_separator:||

包围符

  • 作用:保护包含特殊字符的字段,防止被错误解析
  • 限制:仅支持单字节字符
  • 常用字符:

    • 单引号:'
    • 双引号:"
  • 使用场景和示例:

    • 字段包含列分隔符:

      Plain Text
      1数据:a,'b,c',d
      2列分隔符:,
      3包围符:'
      4解析结果:3 个字段 [a] [b,c] [d]
    • 字段包含行分隔符:

      Plain Text
      1数据:a,'b\nc',d
      2列分隔符:,
      3包围符:'
      4解析结果:3 个字段 [a] [b\nc] [d]
    • 字段既包含列分隔符又包含行分隔符:

      Plain Text
      1数据:a,'b,c\nd,e',f
      2列分隔符:,
      3包围符:'
      4解析结果:3 个字段 [a] [b,c\nd,e] [f]

转义符

  • 作用:转义字段中与包围符相同的字符
  • 限制:仅支持单字节字符,默认为 \
  • 使用场景和示例:

    • 字段包含包围符:

      Plain Text
      1数据:a,'b,\'c',d
      2列分隔符:,
      3包围符:'
      4转义符:\
      5解析结果:3 个字段 [a] [b,'c] [d]
    • 字段包含多个包围符:

      Plain Text
      1数据:a,"b,\"c\"d",e
      2列分隔符:,
      3包围符:"
      4转义符:\
      5解析结果:3 个字段 [a] [b,"c"d] [e]
    • 字段包含转义符本身:

      Plain Text
      1数据:a,'b\\c',d
      2列分隔符:,
      3包围符:'
      4转义符:\
      5解析结果:3 个字段 [a] [b\c] [d]

跳过行数

  • 作用:跳过 CSV 文件的前几行
  • 类型:整数类型
  • 默认值:0
  • 特殊说明:

    • 当 format 为 csv_with_names 时,系统会自动跳过首行(列名),忽略 skip_lines 参数
    • 当 format 为 csv_with_names_and_types 时,系统会自动跳过前两行(列名和类型),忽略 skip_lines 参数
  • 使用场景和示例:

    • 跳过标题行:

      Plain Text
      1数据文件:
      2姓名,年龄,城市
      3张三,25,北京
      4李四,30,上海
      5
      6参数设置:
      7skip_lines:1
      8结果:跳过标题行,导入后续数据
    • 跳过注释行:

      Plain Text
      1数据文件:
      2# 用户信息表
      3# 创建时间:2024-01-01
      4张三,25,北京
      5李四,30,上海
      6
      7参数设置:
      8skip_lines:2
      9结果:跳过注释行,导入后续数据
    • 使用 csv_with_names 格式:

      Plain Text
      1数据文件:
      2name,age,city
      3张三,25,北京
      4李四,30,上海
      5
      6参数设置:
      7format:csv_with_names
      8结果:系统自动跳过首行列名
    • 使用 csv_with_names_and_types 格式:

      Plain Text
      1数据文件:
      2name,age,city
      3string,int,string
      4张三,25,北京
      5李四,30,上海
      6
      7参数设置:
      8format:csv_with_names_and_types
      9结果:系统自动跳过前两行的列名和类型信息

裁剪双引号

  • 作用:裁剪掉 CSV 文件每个字段最外层的双引号
  • 类型:布尔类型
  • 默认值:false
  • 使用场景和示例:

    • 裁剪双引号:

      Plain Text
      1数据文件:
      2"张三","25","北京"
      3"李四","30","上海"
      4
      5参数设置:
      6trim_double_quotes:true
      7结果:
      8张三,25,北京
      9李四,30,上海

压缩格式

  • 作用:指定导入文件的压缩格式
  • 类型:字符串,忽略大小写
  • 默认值:plain
  • 支持的压缩格式:

    • plain:不压缩(默认)
    • bz2:BZIP2 压缩
    • deflate:DEFLATE 压缩
    • gz:GZIP 压缩
    • lz4:LZ4 Frame 格式压缩
    • lz4_block:LZ4 Block 格式压缩
    • lzo:LZO 压缩
    • lzop:LZOP 压缩
    • snappy_block:SNAPPY Block 格式压缩
  • 注意事项:

    • tar 是一种文件打包格式,不属于压缩格式,因此不支持 .tar 文件
    • 如需使用 tar 打包的文件,请先解包后再导入

使用示例

本节展示了不同导入方式下的 CSV 格式使用方法。

Stream Load 导入

Shell
1# 指定分隔符
2curl --location-trusted -u root: \
3    -H "column_separator:," \
4    -H "line_delimiter:\n" \
5    -T example.csv \
6    http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load
7
8# 处理带引号的数据
9curl --location-trusted -u root: \
10    -H "column_separator:," \
11    -H "enclose:\"" \
12    -H "escape:\\" \
13    -T example.csv \
14    http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load
15
16# 导入压缩文件
17curl --location-trusted -u root: \
18    -H "compress_type:gz" \
19    -T example.csv.gz \
20    http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load

Broker Load 导入

SQL
1-- 指定分隔符
2LOAD LABEL test_db.test_label
3(
4    DATA INFILE("s3://bucket/example.csv")
5    INTO TABLE test_table
6    COLUMNS TERMINATED BY ","
7    LINES TERMINATED BY "\n"
8)
9WITH S3
10(
11    ...
12);
13
14-- 处理带引号的数据
15LOAD LABEL test_db.test_label
16(
17    DATA INFILE("s3://bucket/example.csv")
18    INTO TABLE test_table
19    PROPERTIES
20    (
21        "enclose" = "\"",
22        "escape" = "\\"
23    )
24)
25WITH S3
26(
27    ...
28);
29
30-- 导入压缩文件
31LOAD LABEL test_db.test_label
32(
33    DATA INFILE("s3://bucket/example.csv.gz")
34    INTO TABLE test_table
35    PROPERTIES
36    (
37        "compress_type" = "gz"
38    )
39)
40WITH S3
41(
42    ...
43);

Routine Load 导入

SQL
1-- 指定分隔符
2CREATE ROUTINE LOAD test_db.test_job ON test_table
3COLUMNS TERMINATED BY ","
4FROM KAFKA
5(
6     ...
7);
8
9-- 处理带引号的数据
10CREATE ROUTINE LOAD test_db.test_job ON test_table
11COLUMNS TERMINATED BY ","
12PROPERTIES
13(
14    "enclose" = "\"",
15    "escape" = "\\"
16)
17FROM KAFKA
18(
19    ...
20);

MySQL Load 导入

SQL
1-- 指定分隔符
2LOAD DATA LOCAL INFILE 'example.csv'
3INTO TABLE test_table
4COLUMNS TERMINATED BY ','
5LINES TERMINATED BY '\n';
6
7-- 处理带引号的数据
8LOAD DATA LOCAL INFILE 'example.csv'
9INTO TABLE test_table
10COLUMNS TERMINATED BY ','
11LINES TERMINATED BY '\n'
12PROPERTIES
13(
14    "enclose" = "\"",
15    "escape" = "\\"
16);
17
18-- 跳过表头
19LOAD DATA LOCAL INFILE 'example.csv'
20INTO TABLE test_table
21COLUMNS TERMINATED BY ','
22LINES TERMINATED BY '\n'
23IGNORE 1 LINES;

TVF 导入

SQL
1-- 指定分隔符
2INSERT INTO test_table
3SELECT *
4FROM S3
5(
6    "uri" = "s3://bucket/example.csv",
7    "format" = "csv",
8    "column_separator" = ",",
9    "line_delimiter" = "\n"
10    ...
11);
12
13-- 处理带引号的数据
14INSERT INTO test_table
15SELECT *
16FROM S3
17(
18    "uri" = "s3://bucket/example.csv",
19    "format" = "csv",
20    "column_separator" = ",",
21    "enclose" = "\"",
22    "escape" = "\\"
23    ...
24);
25
26-- 导入压缩文件
27INSERT INTO test_table
28SELECT *
29FROM S3
30(
31    "uri" = "s3://bucket/example.csv.gz",
32    "format" = "csv",
33    "compress_type" = "gz"
34    ...
35);

上一篇
导入方式
下一篇
JSON