Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在Scala Spark中用N/A替换空字符串?_Regex_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

Regex 如何在Scala Spark中用N/A替换空字符串?

Regex 如何在Scala Spark中用N/A替换空字符串?,regex,scala,apache-spark,apache-spark-sql,Regex,Scala,Apache Spark,Apache Spark Sql,我正在尝试一个由来已久的问题,用N/a替换Spark Scala数据帧中某列中的空字符串,但没有效果 原始数据帧: +----------+--------------+ |Testing ID|Test this Code| +----------+--------------+ | 545242| ""| | 643533| 994A| | 856563| ""| +---

我正在尝试一个由来已久的问题,用N/a替换Spark Scala数据帧中某列中的空字符串,但没有效果

原始数据帧:

+----------+--------------+
|Testing ID|Test this Code|
+----------+--------------+
|    545242|            ""|
|    643533|          994A|
|    856563|            ""|
+----------+--------------+
我尝试的第一个代码:

val a = sssd.withColumn("Test this Code", when($"Test this Code" === "", lit("N/A")).otherwise($"Test this Code"))
但什么也没发生,没有观察到任何变化。因此,我尝试了另一种方法,使用regexp_replace,代码:

但是,输出非常奇怪,如下所示:

+----------+------------------------+
|Testing ID|          Test this Code|
+----------+------------------------+
|    545242|             N/A"N/A"N/A|
|    643533|                    994A|
|    856563|             N/A"N/A"N/A|
+----------+------------------------+

我看了其他的SO答案,但没用,有什么帮助吗?

试试这个。我怀疑这不是一个空字符串,而是一个由两个引号组成的字符串

val a = sssd.withColumn("Test this Code", when($"Test this Code" === "\"\"", lit("N/A")).otherwise($"Test this Code"))

明亮的我也怀疑同样的情况,尝试了多种排列方式“作为字符串,但无法形成您给出的确切正则表达式。在python中,它很简单,”(单引号-双引号-单引号),但在Scala中不起作用。非常感谢您的快速帮助!
val a = sssd.withColumn("Test this Code", when($"Test this Code" === "\"\"", lit("N/A")).otherwise($"Test this Code"))