【问题标题】:Error in reading CSV file with null column value using spark scala [duplicate]使用 spark scala 读取具有空列值的 CSV 文件时出错 [重复]
【发布时间】:2017-07-01 15:32:35
【问题描述】:

我正在尝试使用 spark Scala 分析 CSV 文件,但问题是我的 CSV 文件包含具有空值的列,因此在从 CSV 文件读取数据时出现 java.lang.ArrayIndexOutOfBoundException 错误:12

我在 CSV 文件中的总列是 13,但 1 列包含空值。enter image description here请在下面找到我的代码 sn-ps 的附件。提前致谢

【问题讨论】:

  • 欢迎来到 StackOverflow。代码和错误消息的屏幕图像不如将代码和错误文本粘贴到您的问题中那样有用。无法将图像中的文本复制并粘贴到开发环境中进行验证和测试。

标签: scala


【解决方案1】:

我建议为此使用 databricks CSV 库。请在 Scala 2.11 中使用以下 maven 依赖项

<!-- https://mvnrepository.com/artifact/com.databricks/spark-csv_2.11 -->
<dependency>
    <groupId>com.databricks</groupId>
    <artifactId>spark-csv_2.11</artifactId>
    <version>1.0.3</version>
</dependency>

示例代码:

import org.apache.spark.sql.SQLContext

val sqlContext = new SQLContext(sc)
val df = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true") // Use first line of all files as header
    .option("inferSchema", "true") // Automatically infer data types
    .load("cars.csv")

参考:https://github.com/databricks/spark-csv

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多