问题标签 [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 回答
59 浏览

pyspark - 如何在更短的时间内向初始 DataFrame 添加大量列(5000~1000 列)?

我想对我创建的 pyspark 管道进行某种压力测试,并想测试输入数据帧的列(从 Hive 检索)是否增加到 2x ,5x 倍,那么管道将如何工作?

我尝试使用 for 循环创建数据框中已经存在的数字列的重复列:

但这需要很多时间。有什么有效的方法吗?

0 投票
2 回答
82 浏览

python - 如何加入两个 Spark DataFrame 并操作它们的 share 列?

我有2个这样的DataFrame:

和这个:

我想像这样加入他们:

因此,some_string第一个数据帧的列连接some_string到第二个数据帧的列。如果我正在使用

它会回来

有什么办法吗?

0 投票
3 回答
5395 浏览

python - 如何在 PySpark 数据框中提取正则表达式模式的所有实例?

StringType()在 PySpark 数据框中有一列。我想从该字符串中提取正则表达式模式的所有实例并将它们放入一个新列中ArrayType(StringType())

假设正则表达式模式是[a-z]\*([0-9]\*)

输入 df:

输出df:

0 投票
1 回答
37 浏览

pyspark - Pyspark groupby with udf:本地机器性能不佳

我正在尝试对由几个每日文件组成的巨大数据集进行一些分析,每个文件 15GB。为了更快,仅出于测试目的,我创建了一个非常小的数据集,其中包含所有相关场景。我必须分析每个用户的正确操作顺序(即类似于日志或审计)。

为此,我定义了一个 udf 函数,然后应用了一个 groupby。在代码下方重现我的用例:

这给我带来了以下结果:

是不是太慢了?

我正在使用带有 conda 的现代笔记本电脑。我使用 conda navigator 安装了 pyspark。

有什么我做错了吗?对于这么小的数据集来说太多了

0 投票
0 回答
91 浏览

python - 将来自不同数据框的聚合添加为列

使用此数据集:

和这个:

我想将 json 数据集的最大值和最小值作为列添加到 csv 数据集中。

我努力了:

但我得到这个错误:

我有一个基于数组的解决方案,但它似乎很慢,所以我希望这样的东西可以加快速度。

现在我正在使用这个解决方案:

0 投票
1 回答
463 浏览

python - Pyspark数据框 - 获取两列中的变量计数

我正在使用 pyspark 数据框,目的是获取可以在多个列中的变量的计数。编写了一个 sql 查询来获取此信息,但无法将其翻译为数据帧。

鉴于以下数据框,需要获取 Col1、Col2 中“Foo”、“Bar”、“Air”的计数。

预期产出

0 投票
1 回答
252 浏览

pyspark - 将 Informatica 转换转换为 Pyspark

我正在尝试将 informatica 转换转换为 pyspark 转换,但我被困在替换下面显示的代码中的 char 中:

这是我尝试过的:

请帮我将 informatica 转换为 pyspark 转换。

0 投票
2 回答
8170 浏览

python - PySpark:TypeError:“str”对象在数据帧操作中不可调用

我正在循环读取文件夹中的文件并从中创建数据框。但是,我收到了这个奇怪的错误TypeError: 'str' object is not callable。请在此处找到代码:

代码运行一次迭代,然后在该行停止

出现上述错误。

任何人都可以帮忙吗?

0 投票
1 回答
65 浏览

dataframe - PySpark Dataframe:统一某些行

我很难弄清楚这个

这是一个简单的例子:

我想以一种方式格式化这个数据帧,如果同一个 ID 处于多个状态,让它只存储一个状态。在此示例中,ID 为“a”的任何行都应具有状态“NJ”而不是“NJ”和“GA”。

结果应该是这样的:

这怎么可能实现?谢谢!!

0 投票
1 回答
798 浏览

pyspark - 通过仅从两列中获取唯一值来对 pyspark 数据框的列进行分组

我想根据 pyspark 数据框的两列中的唯一值对列进行分组。数据框的输出应该是这样的,一旦某个值用于 groupby 并且如果它存在于另一列中,那么它不应该重复。

我尝试使用单列进行分组,需要对其进行修改或需要一些其他逻辑。

我从上述查询中得到以下输出;

但我想要以下输出;