Athena CTAS 用 \N 替换表中的空值

Athena CTAS replacing null values in tables with \N

当我使用Athena CTAS 生成CSV 文件时,我发现Athena table 中的空值被替换为“\N”。 我如何才能将这些值保留为空列?

我使用的 CTAS 查询是这样的:

CREATE TABLE table_name WITH (format = 'TEXTFILE', field_delimiter=',', external_location='s3://bucket_name/location') AS SELECT * FROM "db_name"."src_table_name";

我是不是做错了什么?

这是 NULLLazySimpleSerDe 的默认标记,不幸的是,CTAS 没有公开任何更改它的机制。

如果您希望 NULL 值的字段为空,则必须确保它们都是空字符串,例如… AS SELECT COALESCE(col1, ''), COALESCE(col2, ''), ….