scala – 火花数据框修剪列和转换
发布时间:2020-12-16 19:18:56 所属栏目:安全 来源:网络整理
导读:在 Scala / Spark中,如何将空字符串(如“”)转换为“NULL”?需要先修剪它然后转换为“NULL”.谢谢. dataframe.na.replace("cut",Map(" " - "NULL")).show //wrong 解决方法 您可以创建一个简单的功能来完成它.首先是几个进口: import org.apache.spark.sql
在
Scala / Spark中,如何将空字符串(如“”)转换为“NULL”?需要先修剪它然后转换为“NULL”.谢谢.
dataframe.na.replace("cut",Map(" " -> "NULL")).show //wrong 解决方法
您可以创建一个简单的功能来完成它.首先是几个进口:
import org.apache.spark.sql.functions.{trim,length,when} import org.apache.spark.sql.Column 和定义: def emptyToNull(c: Column) = when(length(trim(c)) > 0,c) 最后一个快速测试: val df = Seq(" ","foo","","bar").toDF df.withColumn("value",emptyToNull($"value")) 应产生以下结果: +-----+ |value| +-----+ | null| | foo| | null| | bar| +-----+ 如果要用字符串“NULL”替换空字符串,则可以添加否则子句: def emptyToNullString(c: Column) = when(length(trim(c)) > 0,c).otherwise("NULL") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |