gpt4 book ai didi

sql-server - hive "\n"记录中的值

转载 作者:可可西里 更新时间:2023-11-01 15:58:47 24 4
gpt4 key购买 nike

我正在使用配置单元处理一个 120 GB 的大文件。数据首先作为 csv 文件(制表符分隔)从 sql server 表加载到 aws s3,然后在此文件之上创建 hive 外部表。从配置单元外部表查询数据时遇到问题。我注意到 csv 在许多列字段中包含\n(在 sql server 中实际上是“null”)。现在,当我创建配置单元表时,出现在任何记录中的\n 将配置单元带到新记录并为该记录中的其余列生成 NULL。我试过以“001”结尾的行,但没有成功。我得到的错误是配置单元仅支持“以\n 终止的行”。我的问题是,如果配置单元仅支持\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/';

最佳答案

您可以使用以下命令更改表格或在 TBL 属性的创建语句中添加属性;

ALTER TABLE table set SERDEPROPERTIES ('serialization.null.format' = "");

这将使文件中的数据为 NULL。

关于sql-server - hive "\n"记录中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40491208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com