文档首页/ 数据湖探索 DLI/ 常见问题/ SQL作业相关问题/ 运维指导/ 创建OBS外表,因为OBS文件中的某字段存在回车换行符导致表字段数据错误
更新时间:2022-11-09 GMT+08:00

创建OBS外表,因为OBS文件中的某字段存在回车换行符导致表字段数据错误

问题现象

创建OBS外表,因为指定的OBS文件内容中某字段包含回车换行符导致表字段数据错误。

例如,当前创建的OBS外表语句为:

CREATE TABLE test06 (name string, id int, no string) USING csv OPTIONS (path "obs://dli-test-001/test.csv");
test.csv文件内容如下:
Jordon,88,"aa
bb"
因为最后一个字段的aa和bb之间存在回车换行。创建OBS外表后,查询test06表数据内容显示如下:
name	id	classno
Jordon	88	aa
bb"	null	null

解决方案

创建OBS外表时,通过multiLine=true来指定列数据包含回车换行符。针对举例的建表语句,可以通过如下示例解决:
CREATE TABLE test06 (name string, id int, no string) USING csv OPTIONS (path "obs://dli-test-001/test.csv",multiLine=true);