问题标签 [spark-dataframe]
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.
scala - Replacing null values with 0 after spark dataframe left outer join
I have two dataframes called left and right.
Then, I join them to get the joined Dataframe. It is a left outer join. Anyone interested in the natjoin function can find it here.
Since it is a left outer join, the real_labelVal column has nulls when user_uid is not present in right.
I want to replace the null values in the realLabelVal column with 1.0.
Currently I do the following:
- I find the index of real_labelval column and use the spark.sql.Row API to set the nulls to 1.0. (This gives me a RDD[Row])
- Then I apply the schema of the joined dataframe to get the cleaned dataframe.
The code is as follows:
Is there an elegant or efficient way to do this?
Goolging hasn't helped much. Thanks in advance.
apache-spark - Spark Dataframe - 组合数据帧的最佳方式
我目前使用 databricks 库将 CSV 文件加载到 Dataframes 中。
我正在寻找最好的通用方法来使用特定键对加载的数据帧进行组合,因为组合操作仅适用于 PairRDD。
我发现这篇文章为 Dataframes 实现了 cogroup 功能,但我想有一些不同的方法:
https://gist.github.com/ahoy-jon/b65754cde98cc48b9b38
请问你有没有遇到过这种情况?
谢谢。
apache-spark - 将数据帧分组到列表中
我正在尝试对集合进行一些分析。我有一个示例数据集,如下所示:
订单.json
它只是一个字段,它是代表 ID 的数字列表。
这是我要运行的 Spark 脚本:
简而言之,创建expanded
并且grouped
很好,expanded
是两个 ID 的所有可能集合的列表,其中两个 ID 在相同的原始集合中。grouped
过滤掉与自己匹配的 ID,然后将所有唯一的 ID 对组合在一起,并为每个 ID 生成一个计数。的架构和数据样本grouped
是:
所以,我的问题是:我现在如何对每个结果中的第一项进行分组,以便我有一个元组列表?对于上面的示例数据,我希望类似于以下内容:
正如您在我的脚本中看到的那样recs
,我认为您应该首先在“item1”上执行 groupBy,这是每行中的第一项。但在那之后,您将得到这个 GroupedData 对象,该对象的操作非常有限。真的,您只需要进行 sum、avg 等聚合。我只想列出每个结果中的元组。
此时我可以轻松使用 RDD 函数,但这与使用 Dataframe 不同。有没有办法用数据框函数做到这一点。
java - 如何从行集合创建数据框?
我想从解析的字符串 RDD 手动创建一个数据框。我已经有了我的 StructType,我可以从RowFactory.create(StructType[])
. 我看到一个名为sqlContext.createDataFrame(RDD<Row>, StructType)
RDD 和 StructType 的方法。那么如何将我的 Row 对象变成 RDD 呢?
python - 在 PySpark 数据框中添加列总和作为新列
我正在使用 PySpark,我有一个带有一堆数字列的 Spark 数据框。我想添加一个列,它是所有其他列的总和。
假设我的数据框有“a”、“b”和“c”列。我知道我可以这样做:
问题是我不想单独输入每一列并添加它们,特别是如果我有很多列。我希望能够自动执行此操作,或者通过指定要添加的列名列表来执行此操作。还有另一种方法可以做到这一点吗?
python - pyspark数据框,groupby和计算列的方差
我想对 pyspark 数据框进行分组并计算特定列的方差。对于平均而言,这很容易,可以像这样完成
但是对于方差,函数子模块中似乎没有任何聚合函数(我也想知道为什么,因为这是一个很常见的操作)
pandas - 如何将键和值列表转换为pyspark中的数据框?
我有一个包含键和值的文本文件,其中一些值丢失了,
我想填充缺失的值,所以我做了(数据是我的 rdd)
现在 data1 看起来像:
现在我希望将上面的 data1 写入我尝试过的数据框/表中
但我收到一个错误
1)如何写入数据框?2)如何将键和列表转换为如下所示的单个元组?
这样我就可以直接写入数据框了吗?
提前致谢 :)
python - Python + Pandas + Spark - 如何将数据框导入 Pandas 数据框并将其转换为字典?
如何将数据框导入 Pandas 数据框并将其转换为字典?
我有从 Spark 创建的这个数据框,
当我尝试将其导入熊猫时,
我得到这个错误,
[client 127.0.0.1:50885] PandasError:DataFrame 构造函数未正确调用!
毕竟,我只是想将数据框转换成字典,
有任何想法吗?
python - 如何在 pySpark 数据框中添加行 ID
我有一个 csv 文件;我在pyspark中转换为DataFrame(df);经过一些改造;我想在df中添加一列;这应该是简单的行 id(从 0 或 1 到 N)。
我在rdd中转换了df并使用“zipwithindex”。我将生成的 rdd 转换回 df。这种方法有效,但它生成了 250k 个任务并且需要大量执行时间。我想知道是否有其他方法可以减少运行时间。
以下是我的代码片段;我正在处理的 csv 文件很大;包含数十亿行。
java-8 - 如何在 Spark SQL 中向现有 Dataframe 添加新列
我使用DataFrame API。
我有现有的 DataFrame 和一个 List 对象(也可以使用 Array)。如何将此列表作为新列添加到现有 DataFrame 中?我应该为此使用Column类吗?