天天看點

Scala報錯:error: overloaded method value logInfo with alternatives1.背景

Scala報錯:error: overloaded method value logInfo with alternatives1.背景

1.背景

寫了這麼一段代碼

object JdbcSink extends Logging {

  def writeToJdbc(df:DataFrame, sink: StreamSink, driverName: String):DataStreamWriter[Row] ={
   logInfo("JDBC URL:{} NAME:{} ",url,connectorParam.getUsername)
           

打包的時候報錯

[ERROR] /Users/lcc/IdeaProjects/company_source/cheetah-node/cheetah-streaming/spark-structured-streaming/src/main/scala/org/apache/spark/sql/jdbc/stream/JdbcSink.scala:134: error: overloaded method value logInfo with alternatives:
[ERROR]   (msg: => String,throwable: Throwable)Unit <and>
[ERROR]   (msg: => String)Unit
[ERROR]  cannot be applied to (String, String, String)
[ERROR]     logInfo("JDBC URL:{} NAME:{} ",url,connectorParam.getUsername)
[ERROR]     ^
[ERROR] one error found

           

這是因為把java和scala搞混了,應該用scla的列印日志,改成如下

object JdbcSink extends Logging {

  def writeToJdbc(df:DataFrame, sink: StreamSink, driverName: String):DataStreamWriter[Row] ={
    logInfo(s"JDBC URL:$url NAME:$connectorParam.getUsername ")