COS 数据源

最近更新时间:2024-07-08 15:03:31

我的收藏

使用限制

建议在配置子账号授权数据的读写权限的同时,追加 QcloudCOSBucketConfigRead、QcloudCOSDataFullControl 两项策略权限。因为 Spark 在操作 COS 文件时部分情况下需要 headBucket 权限。




COS 离线单表读取节点配置




参数
说明
数据来源
选择当前项目中可用的 COS 数据源。
文件路径
COS文件路径需带上桶名称,如 cosn://bucket_name。
文件格式
COS 支持五种文件类型:txt 、orc 、parquet 、csv、json。
txt:表示 TextFile 文件格式。
orc:表示 ORCFile 文件格式。
parquet:表示普通 Parquet 文件格式。
csv:表示普通 HDFS 文件格式(逻辑二维表)。
json:表示 JSON 文件格式。
压缩格式
当 fileType(文件类型)为 csv 下的文件压缩方式,目前仅支持:none、deflate、gzip、bzip2、lz4、snappy。
说明:
由于 snappy 目前没有统一的 stream format,数据集成目前仅支持最主流的 hadoop-snappy(hadoop 上的 snappy stream format)和 framing-snappy(google 建议的 snappy stream format)。
ORC 文件类型下无需填写。
字段分隔符
读取的字段分隔符,COS 在读取 TextFile 数据时,需要指定字段分割符,如果不指定默认为逗号(,)。COS 在读取 ORC File时,您无需指定字段分割符。
其他可用分隔符:' \\t ' 、' \\u001 ' 、' | '、' 空格 ' 、 ' ;' ' , '。
如果您想将每一行作为目的端的一列,分隔符请使用行内容不存在的字符。例如,不可见字符\\u0001。
编码
读取文件的编码配置。支持 utf8 和 gbk 两种编码。
空值转换
读取时,将指定字符串转为 null。

COS 离线单表写入节点配置




参数
说明
数据去向
选择当前项目中可用的 COS 数据源。
文件路径
COS 文件路径需带上桶名称,如 cosn://bucket_name。
写入模式
COS 支持三种写入模式:
append:写入前不做任何处理,直接使用 filename 写入,保证文件名不冲突 。
nonConflict:文件名重复时报错 。
overwrite:写入前清理以文件名为前缀的所有文件,例如,"fileName": "abc",将清理对应目录所有 abc 开头的文件。
文件格式
COS 支持三种文件类型:txt 、csv、orc。
txt:表示 TextFile 文件格式。
csv:表示普通 HDFS 文件格式(逻辑二维表)。
orc:表示 ORCFile 文件格式。
压缩格式
当 fileType(文件类型)为 csv 下的文件压缩方式,目前仅支持:none、deflate、gzip、bzip2、lz4、snappy。
说明:
由于 snappy 目前没有统一的 stream format,数据集成目前仅支持最主流的 hadoop-snappy(hadoop上的snappy stream format)和 framing-snappy(google 建议的 snappy stream format)。
ORC 文件类型下无需填写。
字段分隔符
写入的字段分隔符。COS 写入时的字段分隔符,需要您保证与创建的 COS表的字段分隔符一致,否则无法在 COS 表中查到数据。可选:' \\t ' 、' \\u001 ' 、' | '、' 空格 ' 、 ' ;' ' , '。
编码
写入文件的编码配置。支持 utf8 和 gbk 两种编码。
空字符串处理
不做处理:写入时,不处理空字符串
处理为 null:写入时,将空字符串处理为 null
是否包含表头
是:写入时,包含表头
否:写入时,不包含表头
说明:
仅文件格式为 txt 、csv 支持选择是否包含表头。
高级设置(选填)
可根据业务需求配置参数。

数据类型转换支持

COS Select 通过 CAST 函数确定您输入数据的数据类型,一般而言,如果您未通过 CAST 函数进行数据类型指定,COS Select 将把输入数据类型视为 string 类型。

读取

COS 数据类型
内部类型
integer
Long
float、decimal
Double
string
String
timestamp
Date
bool
Boolean

写入

内部类型
COS 数据类型
Long
integer
Double
float、decimal
String
string
Date
timestamp
Boolean
bool