写行时任务失败

时间:2016-08-26 02:30:16

标签: apache-spark

我的火花版本是1.6.2。我的代码是

val phoneDF = sqlContext.read.format("jdbc").options(
    Map("url" -> "jdbc:db2://127.0.0.1:50000/FERTDD",
      "driver" -> "com.ibm.db2.jcc.DB2Driver",
      "user" -> "fwetergfdv",
      "password" -> "fdgergtt",
      "dbtable" -> "dsfewrrte")).load()
  phoneDF.write.parquet("hdfs://hadoop:9000/db2/dfgtt/dsfewrrte.parquet")

但我错了

org.apache.spark.SparkException: Task failed while writing rows 
Caused by: java.nio.charset.MalformedInputException: Input length = 1
WARN scheduler.TaskSetManager: Lost task 0.0 in stage 0.0 (TID 0, localhost): org.apache.spark.SparkException: Task failed while writing rows

但是有些桌子还可以,我不知道为什么。任何帮助都是值得欣赏的。

1 个答案:

答案 0 :(得分:0)

如果任何字符对于给定的字符集不合法,则抛出java.nio.charset.MalformedInputException。使用

检查文件编码
System.getProperty("file.encoding");

您可以使用

等环境变量设置编码
export SPARK_JAVA_OPTS="-Dfile.encoding=UTF-8"
相关问题