更新时间:2024-11-08 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);
父主题: DLI数据库和表类