我正在使用配置单元处理一个120 gb的大文件。首先将数据作为csv文件(以制表符分隔)从sqlserver表加载到awss3,然后在此文件的顶部创建配置单元外部表。从配置单元外部表查询数据时遇到问题。我注意到csv在许多列字段中包含\n(在sql server中实际上是“null”)。现在,当我创建配置单元表时,出现在任何记录中的\n将配置单元带到新记录,并为该记录中的其余列生成null。我试过以“001”结尾的行,但没有成功。我得到一个错误,配置单元只支持“以\n结尾的行”。我的问题是,如果配置单元只支持\n作为行分隔符,您将如何处理包含值的列?有什么建议吗?
以下是我创建外部表的方式:
DROP TABLE IF EXISTS IMPT_OMNITURE__Browser;
CREATE EXTERNAL TABLE IMPT_OMNITURE__Browser (
ID int, Region string, Description string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION 's3://abm-dw/data-import/omniture/Browser/';
1条答案
按热度按时间cfh9epnr1#
您可以使用下面的命令更改表,或者在tbl属性的create语句中添加属性;
这将使文件中的数据为空。