我正在尝试用空格(“”)替换daframe df_test中名为UserAgent的列中的数据中的“/”字符
列中的数据如下所示:
我试过用
val df_test =spark.sql(s"select UserAgent from df_header_pivot")
df_test.withColumn("UserAgent", regexp_replace("UserAgent", "[/]", ""))
但我收到错误消息:
记事本:4:错误:重载方法值regexp_replace替换为:(E:org.apache.spark.sql.column,模式:org.apache.spark.sql.column,替换:org.apache.spark.sql.column)org.apache.spark.sql.column(E:org.apache.spark.sql.column,模式:String,替换:String)org.apache.spark.sql.column,模式:String,替换:String)org.apache.spark.sql.column不能应用
您需要在regexp_replace
函数的列名之前使用$
符号。导入org.apache.spark.sql.functions._val df_test=spark.sql(s“select UserAgent from df_header_pivot”)df_test.with column(“UserAgent”,regexp_replace($“UserAgent”,“[/]”,“”))
在调用参数化版本的CreateStream时,我也会遇到类似的错误。 你知道有什么问题吗?
本文向大家介绍Java中的方法重载和空错误,包括了Java中的方法重载和空错误的使用技巧和注意事项,需要的朋友参考一下 在Java中重载方法时,这些函数具有相同的名称,并且该函数的参数数目相同。在这种情况下,如果参数不是原始的并且具有接受空值的能力,则在使用空值调用该函数时,编译器会感到困惑,因为它无法选择其中一个,因为它们都具有接受空值的能力。这会导致编译时错误。 示例 以下是显示相同内容的示例
在执行基本方法重载程序时,我始终收到以下错误: sh-4.3 $ javac HelloWorld . Java < br > HelloWorld . Java:10:错误:方法show()已在类hello world中定义< br > static void show()< br > hello world . Java:25:错误:方法show(int,int)已在类hello world中
重载子类中重写的方法,我是重载父方法还是重载子类方法? 我大体上理解什么是超载和超驰。 重载-同一方法在同一个类中有不同的参数和可能的返回类型。 重写-子类中的方法签名与父类中的方法签名相同,但实现不同。 方法B.a(INTX)是重载a.a还是重载B.a?
Java 允许同一个类中定义多个同名方法,只要它们的形参列表不同即可。 如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,这种情况被称为方法重载(overload)。 例如,在 JDK 的 java.io.PrintStream 中定义了十多个同名的 println() 方法。 这些方法完成的功能类似,都是格式化输出。根据参数的不同来区分它们,以进行不同的格式化处理和输出。它们之
以下声明在科特林是合法的。 作为字节码,我们得到: 也可以从Kotlin调用这两个方法。 当我试图从Java调用它们中的任何一个时,问题就出现了: 模棱两可的调用。两种方法都匹配… 如何避免这样的问题?如何处理这些方法?若第三方kt库也有同样的问题怎么办? 上面的例子是一个合成的例子。