我有这样的数据:
{"domain_userid":"a","g_id":"1"}
{"domain_userid":"b"}
{"domain_userid":"c","g_id":""}
我正在使用以下代码将此加载到DataFrame中:
spark.read.schema(myschema).json("/my/json")
这将导致一个像这样的数据框:
+--------------------+--------+
| domain_userid|g_id |
+--------------------+--------+
|a | 1 |
|b | null |
|c | |
What I'm looking for is
+--------------------+--------+
| domain_userid|g_id |
+--------------------+--------+
|a | 1 |
|b | null|
|c | null|
我知道我可以编写一个UDF来将空字符串映射到null,但是我的数据有许多列(100+),因此这似乎可能会有性能损失,因为涉及到许多转换。是否有JSON解析器上的任何标志/选项可以从一开始就只写入null?
regexp_replace
代替 UDF。 - T. Gawęda