oss write怎么设置换行符?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在DataWorks中,使用ODPS SQL语句向OSS中的文件写入数据时,如果需要设置换行符,可以在ODPS SQL语句中使用转义字符'\n',其表示一个换行符。具体操作步骤如下:
在DataWorks中新建ODPS SQL节点,并输入SQL语句,在语句中使用'\n'代表换行符,示例如下:
insert overwrite into oss_table
select column1, column2, 'This is a line.\nThis is another line.\n' as column3
from odps_table;
执行节点后,查看OSS中的文件,即可发现文件中会有两行数据,每行之间用换行符隔开,示例如下:
column1_data, column2_data, This is a line.
This is another line.
column1_data, column2_data, This is a line.
This is another line.
在使用OSS Write上传文件时,可以通过设置Content-MD5和Content-Type头部信息来指定换行符。 具体来说,可以在Content-Type头部信息中设置charset=utf-8;delimiter=\n,其中\n表示换行符。同时,在Content-MD5头部信息中也需要包含换行符。
文件写出的格式,支持以下几种格式:
csv:仅支持严格的csv格式。如果待写数据包括列分隔符,则会根据csv的转义语法转义,转义符号为双引号(")。
text:使用列分隔符简单分割待写数据,对于待写数据包括列分隔符情况下不进行转义。
parquet:若使用此文件类型,必须增加parquetschema参数定义数据类型。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。