问题标签 [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 投票
0 回答
584 浏览

scala - Spark:后续 DataFrame 中的 spark-csv 分区和并行性

我想知道在使用spark-csv导入源数据时如何在 Spark 中强制使用后续的、更适当分区的 DataFrame 。

概括:

  • spark-csv似乎不支持像sc.textFile()那样在导入时显式分区。
  • 虽然它“免费”为我提供了推断模式,但默认情况下,当我在集群中使用 8 个执行程序时,我得到的返回的 DataFrame 通常只有 2 个分区。
  • 即使具有更多分区的后续 DataFrame 被缓存cache()并用于进一步处理(在导入源文件后立即),Spark 作业历史仍然显示出令人难以置信的任务分布偏差 - 2 个执行程序将拥有绝大多数任务而不是我期望的更均匀的分布。

不能发布数据,但代码只是一些简单的连接,通过添加几列.withColumn(),然后通过非常基本的线性回归spark.mlib

下面是来自 Spark History UI 的比较图像,显示了每个执行程序的任务(最后一行是驱动程序)。

注意:无论是否调用DataFrame repartition(),我都会得到相同的倾斜任务分布。spark-csv

Spark 执行器比较

我如何“强制”Spark 基本上忘记那些初始 DataFrames 并从更适当的分区 DataFrames 开始,或者强制 spark-csv 以某种方式对它的 DataFrames 进行不同的分区(不分叉/修改它的源)?

我可以使用 解决这个问题sc.textFile(file, minPartitions),但我希望我不必求助于它,因为它spark-csv提供的类型很好的模式之类的东西。

0 投票
1 回答
1486 浏览

python - 在火花中读取 csv 时出现异常

我对火花很陌生。我有 csv 文件,只有 2 列。csv 文件很大(有 3000 万行)。我正在尝试将spark-csv_2.10:1.2.0其加载到数据帧中。

我正在使用以下代码:

我收到以下错误:

以下提示即将到来。我猜它无法理解换行符。

如何解决这个错误?

0 投票
1 回答
110 浏览

hadoop - DataFrame 对象未显示任何数据

我试图使用 spark csv lib 在 hdfs 文件上创建一个数据框对象,如本教程所示。

但是当我试图获取 DataFrame 对象的计数时,它显示为 0

这是我的文件的样子,

员工.csv:

我使用加载了上述文件,

当我查询时,empDf object.printSchema() 给出了正确的模式,其中 empid,empname 作为字符串字段,我可以看到分隔符被正确读取。

但是当我尝试使用显示数据帧时,empDf.show 只给出列标题而没有数据,当我做 empDf.count 给出 0 条记录时。

如果我错过了这里非常需要做的事情,请纠正我。

0 投票
1 回答
804 浏览

apache-spark - 将 com.databricks:spark-csv spark 包动态加载到我的应用程序

我需要使用 spark submit 将 com.csv spark 包动态加载到我的应用程序中,它可以工作

但是当我使用

对于以下配置,它不起作用...

0 投票
2 回答
506 浏览

sql - 当str的格式为dd/mm/yyyy时,如何将列类型从str转换为日期?

我从一个大的 csv 文件导入的 sql 中有一个大表。

当一列包含格式为 dd/mm/yyyy 的日期信息时,该列被识别为 str。

我试过select TO_DATE('12/31/2015') as date了,但这不起作用,因为 TO_DATE 函数需要 yyyy-mm-dd 格式。

如何在 sql 中将 '12/31/2015' 字符串重新排列为 '2015-12-31' 格式,以便将列类型转换为日期?

我在 sparkSQL(在 databricks 环境中)上执行此操作,因为数据量非常大,update似乎不支持 sql 的关键字。

0 投票
3 回答
12303 浏览

apache-spark - 我可以使用 spark-csv 将表示为字符串的 CSV 读入 Apache Spark

我知道如何使用 spark-csv ( https://github.com/databricks/spark-csv ) 将 csv 文件读入 spark,但我已经将 csv 文件表示为字符串,并希望将此字符串直接转换为数据框。这可能吗?

0 投票
0 回答
208 浏览

scala - 如何在 EMR 上安装自定义 spark 分支?

我希望我的 AWS EMR 拥有来自 git repo 的特定 Spark 分支,而不是默认的 Spark。

我想这样做的原因是,我想使用一个分支来修复 csv 的空值。

0 投票
13 回答
173373 浏览

scala - 在将 csv 文件作为数据框读取时提供架构

我正在尝试将 csv 文件读入数据框。我知道我的数据框的架构应该是什么,因为我知道我的 csv 文件。另外我正在使用 spark csv 包来读取文件。我试图指定如下架构。

但是当我检查我创建的数据框的架构时,它似乎采用了自己的架构。我做错什么了吗?如何让火花拿起我提到的模式?

0 投票
0 回答
160 浏览

scala - 应用 UDF 后的 Databircs.CSV.Write - spark 2.0.0,scala 2.11.8

我有以下实例: - Hadoop 2.7.3 - Scala 2.11.8 - Spark 2.0.0 - SBT 0.13.11 一切都在本地构建。该代码是在 Intellij 中开发的,我通过单击调试来运行它。

一切正常,除非我尝试使用 udf

如果我将 master 设置为“local [*]”而不是独立运行,则一切正常。我还尝试写入独立的 hadoop 并指定绝对路径(不是 hdfs),它也运行良好。所以问题在于独立的火花实例或我运行工作的方式。

代码写入失败。所以看起来它处理了一切

构建.sbt

和日志的开头

0 投票
1 回答
248 浏览

scala - 对 bzip2 csv 数据执行数据帧联合时出现索引越界错误

问题很奇怪。如果我使用未压缩的文件,则没有问题。但是,如果我使用压缩的 bz2 文件,我会得到一个索引越界错误。

从我读过的内容来看,它显然是 spark-csv 解析器,它没有检测到行尾字符并将整个内容读取为一条巨大的线。它适用于未压缩的 csv 但不适用于 .csv.bz2 文件的事实对我来说很奇怪。

另外,就像我说的,它只发生在进行数据框联合时。我试图用火花上下文做 rdd 联合,同样的错误。