如何为 spark-csv 提供 parserLib 和 inferSchema 选项
Posted
技术标签:
【中文标题】如何为 spark-csv 提供 parserLib 和 inferSchema 选项【英文标题】:How to provide parserLib and inferSchema options together for spark-csv 【发布时间】:2016-10-20 06:36:03 【问题描述】:sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema","true").option("parserLib", "UNIVOCITY").option("escape","\"").load("file.csv")
当我使用上述代码创建数据框时,出现以下错误:
错误执行程序:阶段 1.0 (TID 1) 中任务 0.0 中的异常 java.lang.AbstractMethodError: com.databricks.spark.csv.readers.BulkCsvReader.aggregate(Ljava/lang/Object;Lscala/Function2;Lscala/Function2;)Ljava/lang/Object;
如果我避免使用 parseLib 选项,它运行良好。 我想将 spark-csv 解析器设置为 Univocity,同时 spark csv 应该使用 inferSchema 识别数据类型。
注意:我使用的是 spark-csv 1.3(它不适用于任何版本) 火花:1.6.2 斯卡拉:2.10.5
谢谢。
【问题讨论】:
【参考方案1】:我无法解决它。 但是我找到了在外部定义模式并使用“univocity”解析器读取 csv 的解决方法。
【讨论】:
以上是关于如何为 spark-csv 提供 parserLib 和 inferSchema 选项的主要内容,如果未能解决你的问题,请参考以下文章