问题标签 [spark-csv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
959 浏览

scala - 如何为 spark-csv 提供 parserLib 和 inferSchema 选项

当我使用上面的代码创建数据框时,出现以下错误:

错误执行程序:阶段 1.0 (TID 1) 中任务 0.0 中的异常 java.lang.AbstractMethodError: com.databricks.spark.csv.readers.BulkCsvReader.aggregate(Ljava/lang/Object;Lscala/Function2;Lscala/Function2;)Ljava /语言/对象;

如果我避免使用 parseLib 选项它运行良好。我想将 spark-csv 解析器设置为 Univocity,同时 spark csv 应该使用 inferSchema 识别数据类型。

注意:我使用的是 spark-csv 1.3(它不适用于任何版本) Spark:1.6.2 Scala:2.10.5

谢谢。

0 投票
1 回答
2754 浏览

apache-spark - Spark CSV Escape 不工作

我正在使用带有 Scala 2.11 的 spark-core 版本 2.0.1。我有简单的代码来读取具有 \ 转义的 csv 文件。

根据文档 \ 是 csv 阅读器的默认转义。但它不起作用。Spark 正在读取 \ 作为我数据的一部分。例如: csv 文件中的 City 列是north rocks\,au。我期望 city 列应该在代码中读取为northrocks,au。但是 spark 将其读取为northrocks\并将au移动到下一列。

我试过以下但没有奏效:

  • 明确定义的转义 .option("escape","\")
  • 将转义更改为 | 或:在文件和代码中
  • 我试过使用 spark-csv 库

任何人面临同样的问题?我错过了什么吗?

谢谢

0 投票
1 回答
1531 浏览

apache-spark - 如何在 spark-csv 中写入“日期”数据类型

我有类似的数据。

我的代码与此类似:(Java)

上面的代码工作正常,没有错误,但 DATE 数据类型(“DOB”)列未正确打印在平面文件中。

我的实际结果是:

即使我正在使用.option("dateFormat", "MM/DD/YYYY").

请参阅最后一列,“日期”格式在 .csv 文件中不起作用。我不确定我错过了什么。

0 投票
1 回答
18373 浏览

scala - Scala:Spark SQL to_date(unix_timestamp) 返回 NULL

Spark Version: spark-2.0.1-bin-hadoop2.7 Scala: 2.11.8

我正在将原始 csv 加载到 DataFrame 中。在 csv 中,虽然该列支持日期格式,但它们被写为 20161025 而不是 2016-10-25。该参数date_format包括需要转换为 yyyy-mm-dd 格式的列名字符串。

在下面的代码中,我首先通过 将 Date 列的 csv 加载为 StringType schema,然后检查 是否date_format不为空,即有需要转换为Datefrom的列,然后使用and转换String每一列。但是,在 中,返回的行都是. unix_timestampto_datecsv_df.show()null

返回前 20 行:

为什么我得到所有null

0 投票
1 回答
1197 浏览

scala - Spark:master local[*] 比 master local 慢很多

我有一个EC2设置r3.8xlarge (32 cores, 244G RAM)

在我的Spark应用程序中,我从 DataBrick 读取两个 csv 文件S3Spark-CSV每个 csv 有大约 500 万行。我是unionAll两个 DataFrame 并dropDuplicates在组合的 DataFrame 上运行一个。

但是当我有的时候,

火花比慢.setMaster("local")

32核不是更快吗?

0 投票
2 回答
1910 浏览

scala - 关于如何以编程方式从 json 文件开始创建自定义 org.apache.spark.sql.types.StructType 模式对象

我必须使用来自 json 文件的信息创建一个自定义 org.apache.spark.sql.types.StructType 模式对象,json 文件可以是任何东西,所以我在属性文件中对其进行了参数化。

这是属性文件的外观:

文件 generated_schema.json 看起来像:

所以,这就是我认为我可以解决的方法:

当代码运行最后一行 .parquet(pathParquet) 时,会发生异常:

这段代码的输出是这样的:

应该是 schema_json 对象和 myDF.schema.json 对象应该具有相同的内容,不是吗?但它没有发生。我认为这必须启动错误。

最后,这项工作因这个例外而崩溃:

事实是,如果我不提供任何 json 模式文件,则作业执行良好,但是使用此模式...

有谁能够帮我?我只想从 csv 文件和 json 模式文件开始创建一些镶木地板文件。

谢谢你。

依赖项是:

更新

我可以看到有一个未解决的问题,

https://github.com/databricks/spark-csv/issues/61

0 投票
2 回答
536 浏览

apache-spark - Spark Stand Alone - 最后阶段 saveAsTextFile 需要花费数小时使用很少的资源来编写 CSV 部分文件

我们在独立模式下运行 Spark,在 240GB“大”EC2 盒子上使用 3 个节点,以使用 s3a 将读取到 DataFrames 到 JavaRDD 的三个 CSV 文件合并到 S3 上的输出 CSV 部分文件中。

我们可以从 Spark UI 中看到,读取和合并以生成最终 JavaRDD 的第一阶段按预期在 100% CPU 上运行,但使用 CSV 文件写入的最后阶段saveAsTextFile at package.scala:179在 3 个节点中的 2 个节点上“卡住”了好几个小时32 个任务中有 2 个需要几个小时(整个时间段内,CPU 占用率为 6%,内存占用率为 86%,网络 IO 为 15kb/s,磁盘 IO 为 0)。

我们正在读取和写入未压缩的 CSV(我们发现未压缩的 CSV 比 gzip 压缩的 CSV 快得多),并在三个输入 DataFrame 中的每一个上重新分区 16 并且不关闭写入。

非常感谢我们可以调查的任何提示,为什么最后阶段需要这么多小时在我们独立本地集群中的 3 个节点中的 2 个节点上做的很少。

非常感谢

- - 更新 - -

我尝试写入本地磁盘而不是 s3a 并且症状是相同的 - 最后阶段的 32 个任务中有 2 个saveAsTextFile被“卡住”了几个小时:

在此处输入图像描述

0 投票
1 回答
7088 浏览

apache-spark - 具有正确可空性的案例类的 Spark 模式

对于自定义 Estimator 的 transformSchema 方法,我需要能够将输入数据框的模式与案例类中定义的模式进行比较。通常这可以像从案例类中生成 Spark StructType / Schema一样执行,如下所述。但是,使用了错误的可空性:

由 df 推断的真实模式spark.read.csv().as[MyClass]可能如下所示:

案例类:

为了比较我使用:

不幸的是,这总是产生false,因为从案例类手动推断的新模式设置为可空true(因为 ja java.Integer 实际上可能为空)

nullable = false创建架构时如何指定?

0 投票
1 回答
1526 浏览

rest - Spark REST API:找不到数据源:com.databricks.spark.csv

我有一个存储在 s3 上的 pyspark 文件。我正在尝试使用 spark REST API 运行它。

我正在运行以下命令:

并且 testing.py 文件有一个代码片段:

但在这一行:

我得到例外:

我正在尝试不同的事情,其中​​一件事是我登录到 ip-address 机器并运行以下命令:

这样它就会在 .ivy2/cache 文件夹中下载 spark-csv。但这并没有解决问题。我究竟做错了什么?

0 投票
2 回答
2571 浏览

apache-spark - 将 spark sql 数据帧导出到 csv 时出错

我参考了以下链接以了解如何在 python 中导出 spark sql 数据框

我的代码:

我使用 spark-submit 加载作业,在主 url 上传递以下 jar

我收到以下错误