问题标签 [pyspark-dataframes]

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

apache-spark - 如何确定失败阶段涉及的pyspark代码行?

由于内存不足错误,我的执行阶段失败。如何确定导致失败阶段的 pyspark 源代码行?

我使用 Web UI 来查看物理计划,这提供了一些洞察力,因为它引用了源代码中的变量名称。我还查看了 DAG 的失败阶段。但是,我一直无法将 DAG 的详细信息与实际计划联系起来。

我正在使用 Pyspark 2.4.3,并且正在使用 Dataframe API。

0 投票
2 回答
2342 浏览

python - 将列表元素作为列添加到现有的 pyspark 数据框

我有一个清单lists=[0,1,2,3,5,6,7]。顺序不是顺序的。我有一个 9 列的 pyspark 数据框。

我需要将我的列表作为列添加到我现有的数据框中。我的列表不按顺序排列,所以我无法使用 udf。有没有办法做到这一点?请帮助我,我希望它是这样的

0 投票
1 回答
67 浏览

pyspark - 将两个不同的 RDD 与两组不同的数据组合但相同的键

RDD_1 包含如下行:

RDD_2 包含如下行:

我想要做的是得到一个 rdd 的形式

所以我试图用距离列替换位置列。

rdd1.join(rdd2) 给我:

rdd1.union(rdd2) 给了我:

0 投票
1 回答
156 浏览

numpy - 如何将多个数据框列转换为一个 numpy 数组列

我有一个如下所示的数据框

现在我需要将第一列和其余列保留为 numpy 数组(两列:“doc”和一个 numpy 数组列)

我知道

将所有列转换为 numpy 数组,但如何将 numpy 数组附加到第一列?任何帮助表示赞赏。

0 投票
1 回答
760 浏览

numpy - 如何传递数组列并将其转换为pyspark中的numpy数组

我有一个如下数据框:

这会引发错误:

2002 年 19 月 10 日 21:24:58 错误执行程序:阶段 1.0 中的任务 0.0 异常(TID 1)

net.razorvine.pickle.PickleException:在 net.razorvine.pickle.Unpickler.load_reduce 的 net.razorvine.pickle.objects.ClassDictConstructor.construct(ClassDictConstructor.java:23) 处构造 ClassDict(用于 numpy.dtype)的预期零参数(Unpickler.java:707) 在 net.razorvine.pickle.Unpickler.dispatch(Unpickler.java:175) 在 net.razorvine.pickle.Unpickler.load(Unpickler.java:99) 在 net.razorvine.pickle.Unpickler。加载(Unpickler.java:112)

我不确定为什么不能将列表类型转换为 numpy 数组?任何帮助表示赞赏

0 投票
2 回答
2792 浏览

apache-spark - spark - 在大型数据帧上执行 groupby 和聚合时,java 堆内存不足

我是 spark 新手,没有 Java 编程经验。我正在使用 pyspark 处理一个非常大的时间序列数据集,其中包含接近 4000 个数字(浮点)列和数十亿行。

我想用这个数据集实现以下目标:

时间序列数据以 10 毫秒为间隔。我想按 1s 间隔对数据进行分组,并使用均值作为聚合函数。

这是我用来读取分区镶木地板文件的代码。

这是我编写的 groupby 和聚合代码:

现在,我想将上述结果数据帧写入分区镶木地板:

但是,我得到一个 java 堆内存不足错误。

我尝试增加 spark.sql.shuffle.partitions以使每个分区的大小更小,但这没有帮助。

我的火花集群配置:

我为我的 spark 作业指定的配置是:

以下是 Ambari 关于集群配置的一些截图:

纱线记忆

纱线处理器

有人可以帮我理解为什么会出现内存问题以及如何解决吗?谢谢。

0 投票
1 回答
444 浏览

pyspark - Pyspark 中的 DOB 字段

我想计算年龄和出生日期字段。但是在我的代码中,我很难对其进行编码。但是需要像今天这样动态地做 - DOB。同样,我也想从 start_date 计算持续时间。我的数据框看起来像 -

我到目前为止 - 用于年龄计算

在上面的两个代码中,我硬编码了两个值。一个是 end_date = '2019-09-30',另一个是 end_date_1 = '2019-09-30'。但想根据 todays() 日期执行此操作。如何在pyspark中做到这一点?

0 投票
1 回答
1027 浏览

pyspark - 基于pyspark中日期列的条件语句

我想根据 pyspark 中的某些条件创建一个新列。我的数据框 -

所有列都是字符串格式。我的条件是——

txn_date >= create_date。基于此条件,我将创建一个新列“is_mem”。                

我的最终数据框看起来像 -

   

如何在pyspark中做到这一点?

0 投票
1 回答
799 浏览

pyspark - 根据列中的唯一值对 PySpark DataFrame 进行分区(自定义分区)

我有一个 PySpark 数据框,其中有用于名称、类型、日期和值的单独列。数据框的示例如下所示:

对于 的选定值Type,我想根据标题为 的列的唯一值创建单独的数据框Day。比方说,我选择a了作为我的首选Type。在上述示例中,我有三个唯一值Day. 1, 2 , 3)。对于每个唯一值Day都有一行带有所选Type a- (即天数12上述数据),我想创建一个数据框,其中所有行都带有所选的TypeDay。在上面提到的示例中,我将有两个数据框,如下所示

我怎样才能做到这一点?在我将使用的实际数据中,我有数百万列。所以,我想知道实现上述目标的最有效方式。

您可以使用下面提到的代码来生成上面给出的示例。

0 投票
2 回答
72 浏览

sql - 你如何 Window.partitionBy 超过一个范围或条件?

我有一些按日期时间排序的数据,我想根据另一列(1 或 0)将值相加。但是,我需要这样做,以便它只对 5 秒后的值求和。我该怎么做呢?

前表

我不起作用的伪代码如下

结果看起来像

我不能使用滞后或领先,因为不是每一秒都在列表中。所以它必须是基于 GPS_TimeStamp 的条件。

提前致谢