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

pyspark - 手动创建 pyspark 数据框

我正在尝试在给定某些数据的情况下手动创建 pyspark 数据框:

当我尝试显示数据框时,这会出错,所以我不知道该怎么做。

但是,这里的 Spark 文档对我来说似乎有点令人费解,当我尝试遵循这些说明时遇到了类似的错误。

有谁知道如何做到这一点?

0 投票
1 回答
190 浏览

python - 在 UDF Pyspark 中更新变量值

我想要一个通过“值”列的 udf 函数,并检查下一个值是否为当前行值的 50% 或更多。如果它在 50% 以内,那么我想包含值“是”,如果不是,那么我不想包含该值。如果值在最后一个值和下一个值之间下降得太快,则不应包含在内,但如果它逐渐下降且与上一个包含值相比不超过 50%,则没关系。这就是为什么不包括 id 5 的 .1 而包括 id 9 的 0.1 的原因,因为它遵循一个从 0.4 逐渐下降不超过 50% 的值。我正在考虑在 udf 中使用一个变量来跟踪最后一个可接受的值,但我不确定如何去做。

0 投票
1 回答
761 浏览

python - 如何用非数字列的模式替换空值?

我的 DataFrame 在 Continent_Name 列中有空值,我希望将其替换为同一列的模式。

仅显示前 20 行

我尝试了以下方式:

出现的错误:

0 投票
0 回答
413 浏览

pyspark - 如何使用 pyspark 在连接条件中使用聚合函数

我有两个数据框,我正在尝试在 id 和 date 列上加入这两个数据框。

加入条件是这样的:

当我试图这样做时,它会抛出一个属性错误:'DataFrame' 对象没有属性'_get_object_id'

我想要的是?

如果 df1.date 小于 min df2.start_date 那么它应该选择 min df2.star_date 的 group_id 即 B

有没有有效的方法来做到这一点(数据量很大)?

0 投票
1 回答
268 浏览

python - AnalysisException,pyspark 无法解析数据框查询中的变量

我在这里有一个 pyspark 脚本行,

通过对变量进行硬编码,它可以正常工作,但是当参数化时它会抛出一个错误说,

pyspark.sql.utils.AnalysisException: '无法解析\'`"*", F.....

其中checkcol是一个具有如下值的变量,

校验-

0 投票
2 回答
1184 浏览

json - Spark SQL Collect_list(struct) 保存为 json

我有一个需要生成为 json 文件的配置单元表。为了实现它,我已申请collect_list(struct(fields..))为 A 并将其保存为 json 使用spark.write.json.

但是 json 在开头有一个我不需要的附加索引字段“A”。我只需要 json 值的数组。我正在使用 pyspark

例如:

0 投票
1 回答
1048 浏览

scala - 使用 Scala/pysprak 以及 Databricks 和存储在 ADLS 上的文件从 Zip 文件中的文件中读取内容

我有 1.3GB 的 Zip 文件,里面有一个 6GB 的逗号分隔格式的 txt 文件。此 zip 文件夹位于 Azure Data Lake Storage 上,并使用服务原理,它安装在 DBFS Databricks 文件系统上。使用普通 python 代码提取 6GB 文件时,我得到 1.98GB 作为提取文件。

请建议一种直接读取 txt 文件并将其存储为 spark Dataframe 的方法。

我曾尝试使用 python 代码,但直接从 python 读取会出错 - Error tokenizing data. C error: Expected 2 fields in line 371看到 3 这也是使用UTF-16-LE编码修复的,但之后出现错误 -ConnectException: Connection refused (Connection refused) on Databricks while trying to display the df.head().

提取代码 -

当直接通过 zip 文件夹读取时,数据框应该包含所有数据,并且它应该显示一些数据并且不应该挂起 Databricks 集群。需要 Scala 或 Pyspark 中的选项。

0 投票
1 回答
42 浏览

pyspark - 两个数据帧的火花连接操作

当 df1 和 df2 具有相同的行并且
df1 和 df2 没有重复值
时,连接操作 df1.join(df2) 的复杂性是多少?
我的问题是采取 O(n^2)

是否可以对数据框进行排序并使其性能更好?如果这不是让im pyspark更快加入的方法是什么?

0 投票
1 回答
67 浏览

pyspark - 在新列下的pyspark数据框中存储多个列的值

我正在从包含 Reading1 和 Reading2 列的 csv 文件中导入数据,并将其存储到 pyspark 数据框中。我的目标是有一个新的列名 Reading 和它的值作为一个包含 Reading1 和 Reading2 值的数组。我怎样才能在 pyspark 中达到同样的效果。

0 投票
2 回答
9128 浏览

python - 如何检测十进制列是否应转换为整数或双精度?

我使用Apache spark作为 ETL 工具,将表从Oracle提取到Elasticsearch中。

我遇到了数字列的问题,这些列火花将它们识别为,decimalElasticsearch不接受decimal类型;所以我将每个decimal列转换doubleElasticsearch接受的列。

当前每个数字列都是double的问题;它是否具有十进制值。

我的问题是有什么方法可以检测列类型应该转换为整数类型还是双精度类型?