apache-spark-sql相关内容

写一个pyspark.sql.dataframe.DataFrame不丢失信息

我正在尝试以 CSV 格式保存 pyspark.sql.dataframe.DataFrame(也可以是另一种格式,只要它易于阅读). 到目前为止,我找到了几个保存 DataFrame 的示例.但是,每次我写它都会丢失信息. 数据集示例: # 创建一个示例 Pyspark DataFrame从 pyspark.sql 导入行Employee = Row("firstName", "l ..
发布时间:2021-11-14 23:24:04 Python

Spark 在首次登录后 24 小时内标记重复用户登录

我有一个包含用户和登录时间的数据集.如果在首次登录后的 24 小时内有/额外登录,我需要标记重复.活动窗口随着用户登录打开.例如,这里是样本数据集 用户登录-----------------------------用户 1 12/1/19 8:00用户 1 12/1/19 10:00用户 1 12/1/19 23:00用户 1 12/2/19 7:00用户 1 12/2/19 8:00用户 1 ..
发布时间:2021-11-14 23:23:58 Python

组合两列,投射两个时间戳并从 df 中选择不会导致错误,但将一列投射到时间戳并选择会导致错误

说明 当我尝试选择一个被强制转换为 unix_timestamp 的列,然后从数据帧中选择时间戳时,会出现 sparkanalysisexception 错误.请参阅下面的链接. 但是,当我组合两列,然后将组合转换为 unix_timestamp 和时间戳类型,然后从 df 中选择时,没有错误. 不同的案例 错误:如何从日期字符串中提取年份? 没有错误 import ..
发布时间:2021-11-14 23:23:55 其他开发

在 Spark 中,如何仅对前 N 个频繁值进行一次热编码?

让,在我的数据帧 df 中,我有一列 my_category 在其中我有不同的值,我可以使用以下方法查看值计数: df.groupBy("my_category").count().show()值计数197166c 210d 5293 现在,我想在此列上应用单热编码 (OHE),但仅针对顶部 N 频繁值(例如 N = 3),并将所有其余不常用的值放在一个虚拟列中(比如“默认").例如,输出应该 ..
发布时间:2021-11-14 23:23:51 其他开发

创建 PySpark 数据框:年份的月份序列

这里完全是新手. 我想使用 pyspark 创建一个 dataframe,它将列出月份和年份,采用当前日期并列出 x 行. 如果我决定 x=5 数据帧应该如下所示 Calendar_Entry 2019 年 8 月 2019 年 9 月 2019 年 10 月 2019 年 11 月 2019 年 12 月 解决方案 Spark 不是以分布式方式 ..
发布时间:2021-11-14 23:23:48 其他开发

如何用逗号分隔存储 JSON 数据框

我需要将数据帧的记录写入 json 文件.如果我将数据帧写入它存储的文件中,例如 {"a":1} {"b":2},我想像这样编写数据帧 [{"a":1} ,{"b":2}].你能帮我么.提前致谢. 解决方案 使用 to_json 函数创建json 对象数组 然后使用 .saveAsTextFile 保存 json 对象. 示例: #sample 数据框df=spark.create ..

Spark sql 优化技巧 将 csv 加载到 hive 的 orc 格式

嗨,我在 CSV 文件中有 90 GB 数据,我正在将此数据加载到一个临时表中,然后使用 select insert 命令从临时表到 orc 表,但是为了将数据转换和加载为 orc 格式,在 spark sql 中需要 4 小时.是否有任何一种优化技术可以用来减少这个时间.截至目前我没有使用任何类型的优化技术,我只是使用 spark sql 并将数据从 csv 文件加载到表(文本格式)然后从这个临 ..
发布时间:2021-11-14 23:23:36 其他开发

迭代获取数据框列的最大值,添加一个并重复 spark/sql 中的所有行

我正在使用 spark 并主要通过 sql 与它进行交互(我对两者都是新手,所以请耐心等待).我在名为 taxonomies 的表中有一个看起来像这样的数据集: level_4 level_5 level_6 level_7 system_id node_id美国联盟西部 null null null 4 633美国联盟东部 null null null 4 634国家联盟西道奇队 bellin ..
发布时间:2021-11-14 23:23:19 其他开发

如何连接多列,当任何列具有空值时

我有一个要求,我必须连接所有字段,如果有任何字段为空,那么我必须留出空间. 例如: -- 如果 col1 值不为空SELECT (YEAR||col1||(col2)) FROM 表-- 输出:202112abc-- 如果 col1 值为空SELECT (YEAR||col1||(col2)) FROM 表-- 输出:2021 abc 任何人都可以帮助我我们如何做到这一点,我尝试了多种方 ..
发布时间:2021-11-14 23:23:16 其他开发