array [array [“string”]] with explode option在spark / scala中删除空行

时间:2018-04-10 12:09:43

标签: scala apache-spark

我有6条记录的JSON文件,其中一列(p_ccodes)包含以下值

rec-1: "p_ccodes" : [ ],
rec-2: "p_ccodes" : [ [ "FLASHSALE" ] ],
rec-3: "p_ccodes" : [ [ "GRATISONGKIR" ] ],
rec-4: "p_ccodes" : [ [ "SAYALI13" ] ],
rec-5: "p_ccodes" : [ [ "testCappingIndo" ] ],
rec-6: "p_ccodes" : [ ],

我尝试使用以下代码:

df.withColumn("p_ccodes", explode(col("p_ccodes"))).withColumn("p_ccodes", explode(col("p_ccodes")))

该列的输出如下所示,但需要包含所有6条记录。我只得到4而不是6。

输出:

+--------------------+
|p_appliedcouponcodes|
+-----+---------------
|           FLASHSALE|
|        GRATISONGKIR|
|            SAYALI13|
|     testCappingIndo|
+-----+---------------`

请建议如何为其他两条记录获取所有6条空值的记录。

0 个答案:

没有答案