PySpark作业在阅读CSV时创建的Dataframe遗失任务和例外

时间:2016-03-25 05:46:24

标签: amazon-ec2 apache-spark pyspark

我不确定如何继续诊断这个问题,但这是我到目前为止所做的。

我用csv文件创建了一个数据帧(我在这个问题上别无选择,我更喜欢它也不是csv ...)

我这样摄取:

table = sqlContext.read \
    .option('header','true') \
    .option('inferSchema','true') \
    .option('parserLib', 'univocity') \
    .load(path, 'com.databricks.spark.csv')

现在,如果我执行任何操作,它就会爆炸。具体来说,如果我在本地计算机上执行以下操作:

table.count()

一切正常。

如果我启动ec2集群然后执行相同的操作,我会收到以下错误:

  

WARN [2016-03-25T05:29:02.061] org.apache.spark.scheduler.TaskSetManager:阶段3.0中丢失的任务0.0(TID 1519,ip-10-0-35-54.ec2.internal): java.lang.ClassCastException:java.lang.String无法强制转换为org.apache.spark.unsafe.types.UTF8String

然后......

  

ERROR [2016-03-25T05:29:05.554] org.apache.spark.scheduler.TaskSetManager:阶段3.0中的任务0失败了4次;中止工作

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.runJob. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 4 times, most recent failure: Lost task 0.3 in stage 3.0 (TID 1522, ip-10-0-35-56.ec2.internal): java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.spark.unsafe.types.UTF8String

当我阅读其他avro文件时,一切都很完美。不知道发生了什么事。任何帮助将不胜感激。

注意,csv文件不是那么大。大约800K行。

0 个答案:

没有答案