问题标签 [apache-spark-2.0]

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 回答
1543 浏览

amazon-s3 - 如何与 partitionBy 或 InsertInto Hive 并行保存 Dataframe/Dataset 的每个分区

我目前使用 spark 2.0.1,我尝试使用 insertInto() 将我的数据集保存到“分区表 Hive”中,或者使用 partitionBy("col") 将我的数据集保存到 S3 存储中,同时工作在并发(并行)中。但是使用这 2 种方法,我的数据集的每个分区都会一个接一个地按顺序保存。这是非常非常缓慢的。我已经知道我必须一次使用 insertInto() 或 partitionBy() 一个。我假设 spark.2.0.1 Dataframe 是 Resilient Data Set 。我当前的代码:

或者

所以我用 df.foreachPartition 尝试了一些东西,如下所示:

您将在下面找到提取日志。在第一个示例中,它是 hive 中的“InserInto(tablehivealreadypartitionned)”。我们可以看到,Spark 的所有“分区”都是一一写入的。在第二个示例中,直接写入 S3 的是“partitionBy().save()”。我们还可以看到,所有的“分区”spark 都是一一写入的。我们处理的数据帧只有一个“分区”,它的大小约为 200MB 未压缩(在内存中)。使用选项 local[4] ,作业可以花费 120s 170s 来保存数据。

不幸的是,我仍然没有找到一种方法来并行写入/保存我的数据集的每个 spark 分区。

有人已经这样做了吗?

你能告诉我如何进行吗?

这是一个错误的方向吗?感谢您的帮助

0 投票
4 回答
67395 浏览

csv - 读取包含嵌入逗号的引用字段的 csv 文件

我正在阅读 Pyspark 中的 csv 文件,如下所示:

但是,数据文件中包含嵌入逗号的引用字段,不应将其视为逗号。我如何在 Pyspark 中处理这个问题?我知道 pandas 可以处理这个问题,但 Spark 可以吗?我使用的版本是 Spark 2.0.0。

这是一个在 Pandas 中工作但使用 Spark 失败的示例:

文件内容:

0 投票
1 回答
532 浏览

scala - 对于 Java 内存不足错误,我应该增加哪种类型的 Spark 内存?

所以,我有一个如下所示的模式。

因此,在内部someFunction,在一个地方制作了一个大字符串,它仍然不是那么大(< 1 GB),但是java.lang.OutOfMemoryError: Java heap space在构建该字符串时有时会出错。即使我的执行程序内存非常大(8 GB),也会发生这种情况。

根据这篇文章,有用户内存和 Spark 内存。现在在我的情况下,我应该增加哪个分数,用户内存还是 Spark 内存?

PS:我使用的是 Spark 2.0 版

0 投票
1 回答
777 浏览

apache-spark - 在 Spark 2.0 中从 AVRO 写入镶木地板时出现 NullPointerException

我正在从 AWS S3 加载 AVRO 文件并将它们写回镶木地板。

出于某种原因,我NullPointerException在写实木复合地板时遇到了这个问题。可能是在阅读 avro 时查看java.io.ObjectInputStream.readObject0.

刚从 1.6 移到 2.0,不知道可能是什么问题。使用包com.databricks:spark-avro_2.11:3.0.1

似乎与https://github.com/databricks/spark-avro/issues/147有关,但这应该用 3.0.1 修复。

0 投票
1 回答
6194 浏览

java - Spark 2.0.1 java.lang.NegativeArraySizeException

我开始玩 Spark 2.0.1。新的数据集 API 非常干净,但我遇到了非常简单的操作问题。

也许我错过了一些东西,希望有人能提供帮助。

这些说明

产生一个

以及 JVM (1.8) 检测到的致命错误。

使用数据集 api 处理数据(即选择、依靠 infos 对象)工作正常。

如何在 Dataset 和 RDD 之间切换?

0 投票
3 回答
7819 浏览

scala - Spark 2.0 数据集与数据帧

从 spark 2.0.1 开始我有一些问题。我阅读了很多文档,但到目前为止找不到足够的答案:

  • 和有什么区别
    • df.select("foo")
    • df.select($"foo")
  • 我理解正确吗
    • myDataSet.map(foo.someVal)是类型安全的,不会转换为RDD但保留在 DataSet 表示中/没有额外的开销(2.0.0 的性能明智)
  • 所有其他命令,例如 select、.. 只是语法糖。它们不是类型安全的,可以使用映射。df.select("foo")如果没有 map 语句 ,我怎么能保证类型安全?
    • 为什么我应该使用 UDF / UADF 而不是地图(假设地图保留在数据集表示中)?
0 投票
0 回答
310 浏览

scala - 如何将已知类型的数据集转换为具有泛型类型的数据集

所以我有这个示例代码,我有一个Dataset[Event]我想根据动态计算的通用类型的键来分组的代码。

这个想法是我应该能够对new NameEventProc().group(ds)扩展的不同类执行 a 或类似操作EventProc。但是代码甚至没有编译并因错误而失败。

根据我收集的信息,Spark 无法理解类型K是什么,因此无法使用适当的编码器。但我不知道如何解决这个问题。

0 投票
1 回答
991 浏览

pyspark - 在 PySpark 的两个不同 pyspark.sql.dataframes 中的两列中创建一个 pyspark.sql.dataframe

假设 pyspark 中的以下两个 Dataframes 具有相同的行数:
df1:
 |_ Column1a
 |_ Column1b

df2:
 |_ 列 2a
 |_ 列 2b

我希望创建一个只有 Column1a 和 Column 2a 的新 DataFrame“df”。什么可能是最好的解决方案?

0 投票
2 回答
4552 浏览

amazon-web-services - 完成写入 S3 后,EMR 上的 Spark 步骤只是挂起为“正在运行”

在 EMR 5.1.0 上运行 PySpark 2 作业作为一个步骤。即使在脚本完成了_SUCCESS写入 S3 的文件和 Spark UI 显示作业已完成后,EMR 仍将步骤显示为“正在运行”。我已经等了一个多小时,看看 Spark 是否只是试图清理自己,但该步骤从未显示为“已完成”。日志中写的最后一件事是:

Spark 1.6 没有这个问题。我尝试了一堆不同的hadoop-aws罐子aws-java-sdk无济于事。

我正在使用默认的 Spark 2.0 配置,因此我认为不会编写任何其他类似元数据的内容。此外,数据的大小似乎对这个问题没有影响。

0 投票
1 回答
802 浏览

amazon-web-services - PySpark:AWS s3n 正在工作,但 s3a 没有

我一直在尝试使用本地机器上的 Spark 访问 Amazon s3 上的数据。我可以使用 s3n 访问数据,但不能使用 s3a,以下是配置

Spark :- 使用 hadoop 2.7 预构建的 2.0.1

出现错误:-

我该如何解决这个错误?