当前位置: 首页 > news >正文

怎么为自己公司做网站百度导航

怎么为自己公司做网站,百度导航,青岛北京网站建设公司哪家好,网站要不要改版本文介绍如何在 Doris 中导入 CSV 格式的数据文件。Doris 支持灵活的 CSV 格式配置,包括自定义分隔符、字段包围符等,并提供多种导入方式以满足不同场景的数据导入需求。 导入方式​ Doris 支持以下方式导入 CSV 格式数据: Stream LoadBro…

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

导入方式​

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

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

参数配置​

参数支持情况​

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

参数默认值Stream LoadBroker LoadRoutine LoadMySQL LoadTVF
行分隔符\nline_delimiterLINES TERMINATED BY不支持LINES TERMINATED BYline_delimiter
列分隔符\tcolumn_separatorCOLUMNS TERMINATED BYCOLUMNS TERMINATED BYCOLUMNS TERMINATED BYcolumn_separator
包围符enclosePROPERTIES.enclosePROPERTIES.enclosePROPERTIES.encloseenclose
转义符\escapePROPERTIES.escapePROPERTIES.escapePROPERTIES.escapeescape
跳过行数0skip_linesPROPERTIES.skip_lines不支持IGNORE LINESskip_lines
裁剪双引号falsetrim_double_quotes不支持PROPERTIES.trim_double_quotes不支持trim_double_quotes
压缩格式plaincompress_typePROPERTIES.compress_type不支持不支持compress_type

注意

  1. Stream Load:参数直接通过 HTTP Header 指定,如:-H "line_delimiter:\n"
  2. Broker Load:参数通过 SQL 语句指定,其中:
    • 分隔符通过 COLUMNS TERMINATED BYLINES TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("compress_type"="gz")
  3. Routine Load:参数通过 SQL 语句指定,其中:
    • 分隔符通过 COLUMNS TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("enclose"="\"")
  4. MySQL Load:参数通过 SQL 语句指定,其中:
    • 分隔符通过 LINES TERMINATED BYCOLUMNS TERMINATED BY 指定
    • 其他参数通过 PROPERTIES 指定,如:PROPERTIES("escape"="\\")
  5. TVF:参数通过 TVF 语句指定,如:S3("line_delimiter"="\n")

参数说明​

行分隔符​
  • 作用:指定导入文件中的换行符
  • 默认值:\n
  • 特点:支持多个字符组合作为换行符
  • 使用场景和示例:
    • Linux/Unix 系统文件:
      数据文件:
      张三,25\n
      李四,30\n参数设置:
      line_delimiter:\n (默认值,可不设置)
      

    • Windows 系统文件:
      数据文件:
      张三,25\r\n
      李四,30\r\n参数设置:
      line_delimiter:\r\n
      

    • 特殊程序生成文件:
      数据文件:
      张三,25\r
      李四,30\r参数设置:
      line_delimiter:\r
      

    • 自定义多字符分隔符:
      数据文件:
      张三,25||
      李四,30||参数设置:
      line_delimiter:||
      

列分隔符​
  • 作用:指定导入文件中的列分隔符
  • 默认值:\t(制表符)
  • 特点:
    • 支持可见和不可见字符
    • 支持多字符组合
    • 不可见字符需要使用 \x 前缀的十六进制表示
  • MySQL 协议特殊处理:
    • 不可见字符需要额外增加反斜线
    • 如 Hive 的 \x01 在 Broker Load 中需要写成 \\x01
  • 使用场景和示例:
    • 常见可见字符:
      数据文件:
      张三,25,北京
      李四,30,上海参数设置:
      column_separator:,
      

    • 制表符(默认):
      数据文件:
      张三    25    北京
      李四    30    上海参数设置:
      column_separator:\t (默认值,可不设置)
      

    • Hive 文件(Stream Load):
      数据文件:
      张三\x0125\x01北京
      李四\x0130\x01上海参数设置:
      column_separator:\x01
      

    • Hive 文件(Broker Load):
      数据文件:
      张三\x0125\x01北京
      李四\x0130\x01上海参数设置:
      PROPERTIES("column_separator"="\\x01")
      

    • 多字符分隔符:
      数据文件:
      张三||25||北京
      李四||30||上海参数设置:
      column_separator:||
      

包围符​
  • 作用:保护包含特殊字符的字段,防止被错误解析
  • 限制:仅支持单字节字符
  • 常用字符:
    • 单引号:'
    • 双引号:"
  • 使用场景和示例:
    • 字段包含列分隔符:
      数据:a,'b,c',d
      列分隔符:,
      包围符:'
      解析结果:3个字段 [a] [b,c] [d]
      

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

    • 字段既包含列分隔符又包含行分隔符:
      数据:a,'b,c\nd,e',f
      列分隔符:,
      包围符:'
      解析结果:3个字段 [a] [b,c\nd,e] [f]
      

转义符​
  • 作用:转义字段中与包围符相同的字符
  • 限制:仅支持单字节字符,默认为 \
  • 使用场景和示例:
    • 字段包含包围符:
      数据:a,'b,\'c',d
      列分隔符:,
      包围符:'
      转义符:\
      解析结果:3个字段 [a] [b,'c] [d]
      

    • 字段包含多个包围符:
      数据:a,"b,\"c\"d",e
      列分隔符:,
      包围符:"
      转义符:\
      解析结果:3个字段 [a] [b,"c"d] [e]
      

    • 字段包含转义符本身:
      数据:a,'b\\c',d
      列分隔符:,
      包围符:'
      转义符:\
      解析结果:3个字段 [a] [b\c] [d]
      

跳过行数​
  • 作用:跳过 CSV 文件的前几行

  • 类型:整数类型

  • 默认值:0

  • 特殊说明:

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

    • 跳过标题行:
      数据文件:
      姓名,年龄,城市
      张三,25,北京
      李四,30,上海参数设置:
      skip_lines:1
      结果:跳过标题行,导入后续数据
      

    • 跳过注释行:
      数据文件:
      # 用户信息表
      # 创建时间: 2024-01-01
      张三,25,北京
      李四,30,上海参数设置:
      skip_lines:2
      结果:跳过注释行,导入后续数据
      

    • 使用 csv_with_names 格式:
      数据文件:
      name,age,city
      张三,25,北京
      李四,30,上海参数设置:
      format:csv_with_names
      结果:系统自动跳过首行列名
      

    • 使用 csv_with_names_and_types 格式:
      数据文件:
      name,age,city
      string,int,string
      张三,25,北京
      李四,30,上海参数设置:
      format:csv_with_names_and_types
      结果:系统自动跳过前两行的列名和类型信息
      

裁剪双引号​
  • 作用:裁剪掉 CSV 文件每个字段最外层的双引号
  • 类型:布尔类型
  • 默认值:false
  • 使用场景和示例:
    • 裁剪双引号:
      数据文件:
      "张三","25","北京"
      "李四","30","上海"参数设置:
      trim_double_quotes:true
      结果:
      张三,25,北京
      李四,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 导入​

# 指定分隔符
curl --location-trusted -u root: \-H "column_separator:," \-H "line_delimiter:\n" \-T example.csv \http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load# 处理带引号的数据
curl --location-trusted -u root: \-H "column_separator:," \-H "enclose:\"" \-H "escape:\\" \-T example.csv \http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load# 导入压缩文件
curl --location-trusted -u root: \-H "compress_type:gz" \-T example.csv.gz \http://<fe_host>:<fe_http_port>/api/test_db/test_table/_stream_load

Broker Load 导入​

-- 指定分隔符
LOAD LABEL test_db.test_label
(DATA INFILE("s3://bucket/example.csv")INTO TABLE test_tableCOLUMNS TERMINATED BY ","LINES TERMINATED BY "\n"
)
WITH S3
(...
);-- 处理带引号的数据
LOAD LABEL test_db.test_label
(DATA INFILE("s3://bucket/example.csv")INTO TABLE test_tablePROPERTIES("enclose" = "\"","escape" = "\\")
)
WITH S3
(...
);-- 导入压缩文件
LOAD LABEL test_db.test_label
(DATA INFILE("s3://bucket/example.csv.gz")INTO TABLE test_tablePROPERTIES("compress_type" = "gz")
)
WITH S3
(...
);

Routine Load 导入​

-- 指定分隔符
CREATE ROUTINE LOAD test_db.test_job ON test_table
COLUMNS TERMINATED BY ","
FROM KAFKA
(...
);-- 处理带引号的数据
CREATE ROUTINE LOAD test_db.test_job ON test_table
COLUMNS TERMINATED BY ","
PROPERTIES
("enclose" = "\"","escape" = "\\"
)
FROM KAFKA
(...
);

MySQL Load 导入​

-- 指定分隔符
LOAD DATA LOCAL INFILE 'example.csv'
INTO TABLE test_table
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n';-- 处理带引号的数据
LOAD DATA LOCAL INFILE 'example.csv'
INTO TABLE test_table
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n'
PROPERTIES
("enclose" = "\"","escape" = "\\"
);-- 跳过表头
LOAD DATA LOCAL INFILE 'example.csv'
INTO TABLE test_table
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

TVF 导入​

-- 指定分隔符
INSERT INTO test_table
SELECT *
FROM S3
("uri" = "s3://bucket/example.csv","format" = "csv","column_separator" = ",","line_delimiter" = "\n"...
);-- 处理带引号的数据
INSERT INTO test_table
SELECT *
FROM S3
("uri" = "s3://bucket/example.csv","format" = "csv","column_separator" = ",","enclose" = "\"","escape" = "\\"...
);-- 导入压缩文件
INSERT INTO test_table
SELECT *
FROM S3
("uri" = "s3://bucket/example.csv.gz","format" = "csv","compress_type" = "gz"...
);

http://www.ds6.com.cn/news/16796.html

相关文章:

  • 做博彩 网站违法吗个人网页制作成品欣赏
  • 网站流量大小对网站有什么影响免费发帖的平台有哪些
  • 自己做好的网站如何发布广州最新新闻
  • 冷水滩网站建设阿里妈妈推广网站
  • 真甲先生网站建设廊坊seo排名霸屏
  • 手机网站开发怎么样关键词查询爱站网
  • 什么网站做电子元器件最有效的广告宣传方式
  • 深圳石岩网站建设宁波seo整站优化软件
  • 网站css连线是怎么做的重庆seo按天收费
  • wordpress 该插件没有有效的标题小小课堂seo自学网
  • 网页设计的培训机构沈阳企业网站seo公司
  • 学生网站建设可行性分析网址怎么申请注册
  • 90设计网首页英文谷歌seo
  • 门头沟网站建设湖南好搜公司seo
  • 正规的装饰行业网站建设公司北京刚刚传来特大消息
  • 公众号建网站英文seo兼职
  • 建设银行佛山分行网站百度识图扫一扫入口
  • 做网站怎么制作网址大全qq浏览器
  • 连锁品牌网站建设快速建站教程
  • 网站建设吴中区我们公司在做网站推广
  • 周村区建设局网站销售怎么找客户源
  • 中国建设银行网站缴费系统app优化网站
  • 网站ico在后台哪里找到免费获客平台
  • 搜关键词可以搜到的网站怎么做好搜网
  • 为什么小城市做不出来好的网站百度seo排名
  • 广州网站建设方案案例列表网推广效果怎么样
  • 建设网站需要做什么的下载百度app并安装
  • “网站建设:上海珍岛”拉新工作室在哪里接项目
  • 移动端前端开发需要学什么北京优化推广
  • 做网站建设网站制作百度刷自己网站的关键词