You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark SQL导出CSV时保留null值而非空字符串的问题求助

解决Spark SQL导出CSV时保留NULL值的问题

问题说明

使用Spark SQL导出db.test123表数据为CSV格式时,原表中的NULL值被自动替换为空字符串,需要将NULL值保留为字符串null。

当前操作代码

spark-sql> directory insert overwrite /temp/t1_csv as select * FROM db.test123 ORDER BY id using csv with options(delimiter=|, coalesce=1);
hdfs dfs -get /temp/t1_csv/part-00000* .

当前输出结果

zcat part-00000-*.gz
1001|501|ABCD|
1002|501||XYZ

期望输出结果

zcat part-00000-*.gz
1001|501|ABCD|null
1002|501|null|XYZ

解决方案

在CSV导出的options中添加nullValue='null'配置,指定NULL值对应的输出字符串为null。修改后的导出代码如下:

spark-sql> directory insert overwrite /temp/t1_csv as select * FROM db.test123 ORDER BY id using csv with options(delimiter=|, coalesce=1, nullValue='null');

执行修改后的代码后,重新导出并下载文件,即可得到包含null字符串的CSV输出,与期望结果一致。

内容的提问来源于stack exchange,提问作者Ikshwaku Baruah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:46:08