错误:方法值重载,并带有替代方法:

时间:2018-11-04 12:16:41

标签: scala function select overloading

我正在读取dataframe1中的CSV文件,然后过滤dataframe2中的某些列,在从dataframe1中选择dataframe2的列的过程中,我想将我的函数应用于列值。喜欢

import utilities._
val Logs = sqlContext.read
  .format("csv")
  .option("header", "true")
  .load("dbfs:/mnt/records/Logs/2016.07.17/2016.07.17.{*}.csv")
val Log = Logs.select(
  "key1",
  utility.stringToGuid("username"),
  "key2",
  "key3",
  "startdatetime",
  "enddatetime")
display(Log)

所以我在这里打电话给utility.stringToGuid("username")。这给了我错误:

notebook:5: error: overloaded method value select with alternatives:
  (col: String,cols: String*)org.apache.spark.sql.DataFrame <and>
  (cols: org.apache.spark.sql.Column*)org.apache.spark.sql.DataFrame

1 个答案:

答案 0 :(得分:0)

所以实际上我找到了问题的答案。实际上,我是将字符串“ username”传递给实用程序函数,而不是传递“ username”的列值。 因此,在参数中它应该类似于Utility.stringToGuid($“ username”)。在scala中,$“”用于发送列,在此处输入代码value,在python中使用col()。