如何解决如何在Spark中实现多种条件的try catch
下面的代码用于创建数据管道。
package Test
import org.apache.log4j.{Level,Logger}
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
import org.apache.spark.sql.expressions.Window
object myjson {def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.appName("Readfile")
.config("spark.driver.memory","2g")
.master("local[*]")
//.enableHiveSupport()
.getOrCreate()
import spark.implicits._
val df = spark.read.option("multiLine",true).json("D:mypathTest/myfile.json")
df.printSchema()
val newdf = ds.withColumn("upTime",regexp_replace(col("upTime"),"[a-zA-Z]","")).
}
}
有什么方法可以在Spark编写的Scala中创建日志记录和警报机制。 要么 我如何实现错误处理,如文件不在路径错误中。 请帮助我。
解决方法
对于错误处理,可以使用try/catch
语句。 https://alvinalexander.com/scala/scala-try-catch-finally-syntax-examples-exceptions-wildcard/
对于日志记录,可以使用log4j。 https://logging.apache.org/log4j/2.x/manual/scala-api.html
当您在Spark Read API中传递无效源时,会火花引发InvalidInputException ...
您可以使用以下类似的Scala代码
try{
// reading through spark
}catch{
case filenotfound : InvalidInputException => {log.error("please check input ",filenotfound)
handleException()
}
case others : Exception => handleException()
}
def handleException() = {
// have a notification system like AWS SES or some other alerting systems here
}
对于日志记录,您可以使用log4j框架并创建日志对象并使用它记录日志错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。