使用 pyspark 使用嵌套结构 ArrayType 展平数据框

2024-04-01

我有一个具有此架构的数据框

root
  |-- AUTHOR_ID: integer (nullable = false)
  |-- NAME: string (nullable = true)
  |-- Books: array (nullable = false)
  |    |-- element: struct (containsNull = false)
  |    |    |-- BOOK_ID: integer (nullable = false)
  |    |    |-- Chapters: array (nullable = true) 
  |    |    |    |-- element: struct (containsNull = true)
  |    |    |    |    |-- NAME: string (nullable = true)
  |    |    |    |    |-- NUMBER_PAGES: integer (nullable = true)

如何使用 Pyspark 将所有列平铺为一层?


Using inline https://spark.apache.org/docs/latest/api/sql/#inline功能:

df2 = (df.selectExpr("AUTHOR_ID", "NAME", "inline(Books)")
       .selectExpr("*", "inline(Chapters)")
       .drop("Chapters")
       )

Or explode https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.explode.html:

from pyspark.sql import functions as F

df2 = (df.withColumn("Books", F.explode("Books"))
       .select("*", "Books.*")
       .withColumn("Chapters", F.explode("Chapters"))
       .select("*", "Chapters.*")
       )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pyspark 使用嵌套结构 ArrayType 展平数据框 的相关文章

  • R:将数据帧分为 3 部分

    我试图将数据框分为 3 部分 4352 行 我试过split df 1 3 它完成了工作 但是当我尝试查看 split df 时 它给出了错误 splitdf lt split df f rep len 1 3 nrow df View s
  • 将 pandas DataFrame 中的数字转换为特定字符串格式

    我需要运行一个可以通过循环完成的任务 但我想有一种更有效 更漂亮的方法来做到这一点 我有一个DataFrame它有一个整数列 我想将其转换为 4 位字符串表示形式 也就是说 3 应转换为 0003 234 应转换为 0234 我正在寻找一种
  • 根据缺少标题的列将文件选项卡到 pandas 数据框中

    如何将带有空列标题的选项卡文件转换为数据框 更具体地说 如何仅使用与相邻未标记列中的字母 在本例中为 P 相对应的值来填充此数据框 这是我正在使用的选项卡文件的表示 请注意 A 或 P 列上缺少标题 gene cell 1 cell 2 M
  • 闪亮错误:参数暗示行数不同

    我正在尝试开发一个简单的应用程序 从 Kijiji 网站获取本地分类广告 我用几乎相同的脚本制作了一个类似的应用程序 但我没有收到下面描述的错误 所以我不知道这个脚本出了什么问题 我尝试了我能想到的一切 但无法让它发挥作用 的结构df数据框
  • R 根据事件更新值

    我最近发布了这个问题 该问题已经与我在笔记本电脑上本地使用的 Mysql 数据库相关 由于我在 Mysql 中没有找到问题的解决方案 其他人似乎也没有找到解决方案 所以我想再次发布它 但现在与 R 相关 我使用带有 RMysql 包的数据库
  • 获取:导入 Spark 模块时出错:没有名为“pyspark.streaming.kafka”的模块

    我需要将从 pyspark 脚本创建的日志推送到 kafka 我正在做 POC 所以在 Windows 机器上使用 Kafka 二进制文件 我的版本是 kafka 2 4 0 spark 3 0 和 python 3 8 1 我正在使用 p
  • 如何向 pandas 数据框中的新列添加值?

    我想在 Pandas 数据框中创建一个新的命名列 将第一个值插入其中 然后将另一个值添加到同一列 就像是 import pandas df pandas DataFrame df New column append a df New col
  • 对多列应用窗口函数

    我想执行窗口函数 具体为移动平均值 但针对数据帧的所有列 我可以这样做 from pyspark sql import SparkSession functions as func df df select func avg df col
  • 获取数据框中列与特定值匹配的整数行索引

    给定一个 Pandas 数据框 其中一列如下所示 Date 2016 04 15 2016 04 14 2016 04 13 2016 04 12 2016 04 11 2016 04 08 假设值是唯一的 如何获取特定值的行索引 例如 2
  • 如何捕获 Oozie Spark 输出

    有没有办法捕获spark的输出然后将其输入到shell上 我们当前正在使用 scala 创建 jar 文件 并希望我们的 Spark 输出成为 shell 输入 我的想法是使用 wf actionData spark XXXX var 我只
  • 任务和分区之间有什么关系?

    我能说 么 Spark任务的数量等于Spark分区的数量吗 执行器运行一次 执行器内部的批处理 等于一个任务吗 每个任务只产生一个分区 1 的重复 并行度或可以同时运行的任务数量由以下公式设置 Executor实例的数量 配置 每个执行器的
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • 为什么 Spark 比 Hadoop MapReduce 更快

    有人可以使用字数统计示例解释一下为什么 Spark 比 MapReduce 更快吗 bafna的答案提供了故事的记忆方面 但我想补充另外两个重要事实 DAG和生态系统 Spark 使用 惰性求值 来形成连续计算阶段的有向无环图 DAG 通过
  • 如何用 pandas 中两个日期之间计算的值填充列?

    我有这个数据框 Date Position TrainerID Win 2017 09 03 4 1788 0 0 wins 1 race 2017 09 16 5 1788 0 0 wins 2 races 2017 10 14 1 17
  • 对于多列,将当前行和上一行的差异附加到新列

    对于 df 中的每一列 我想从前一行 row n 1 row n 中减去当前行 但我遇到了困难 我的代码如下 usr bin python3 from pandas datareader import data import pandas
  • fetchsize和batchsize对Spark的影响

    我想通过以下方式控制 RDB 的读写速度Spark直接 但标题已经透露的相关参数似乎不起作用 我可以得出这样的结论吗fetchsize and batchsize我的测试方法不起作用 或者它们确实会影响阅读和写作方面 因为测量结果基于规模是
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the

随机推荐

  • AlertDialog 中的 Android EditText 似乎太宽

    下图中的 EditText 似乎太宽了 我假设我以某种方式滥用了 SDK 除非确信 否则我不会寻找一种方法来指定边缘 填充像素的数量EditText 这个看起来比较合适 这是我的代码 创建第一个 创建标签 对话框 final Dao
  • websphere - CWWKE0054E 错误无法打开文件

    我正在尝试从命令行运行 websphere liberty profile 服务器 我正在按照此处所述的步骤进行操作 https developer ibm com wasdev downloads liberty profile usin
  • netstandard20 中的 System.Data.Linq

    我有一个引用 Net 4 6 项目的 netstandard20 项目 除了我调用 Net 4 6 项目中的任何功能之外 所有项目都会编译和运行 我收到以下错误 FileNotFoundException 无法加载文件或程序集 System
  • 自动运行 CSS 更改

    我知道有解决方案可以解决这个问题 但我想在我的 自己的 你必须知道你的限制 Hello stackoverflow 路径上完成这项工作 所以我想要一种轮播 只要用户不将鼠标悬停在 ul 区域上 整个 ul 元素就会在每个设定的时间间隔内获得
  • group by 和 group concat ,不使用main pk优化mysql查询

    我的例子是 MYSQL 版本是 5 6 34 日志 Problem摘要以下查询需要40秒 订单商品 table has 758423 records And PAYMENT table has 177272 records And 提交条目
  • LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex”

    public List
  • 选项卡更改时刷新/重新加载 MUI WPF 页面

    我正在使用 WPF 的 Modern UI 开发桌面应用程序 当我转到新标签页时 我尝试刷新我的标签页 但我做不到 当我使用选项卡控制器转到另一个页面时 我想刷新我的 MUI WPF 选项卡页面 谁能帮我 我不太清楚你的意思到底是什么 但是
  • 将字符串中保存的数字中的每个数字转换为 int 数组

    我正在 DFA 上编写这个项目 我想将保存为字符串的整数的每个数字保存并转换为 int 数组 这是负责此操作的函数的代码 int l final states size int temp final temp final new int l
  • 覆盖 Rails 中的 MIME 类型

    我想将 Rails 中的 JSON MIME 类型 application json 覆盖为 text x json 我尝试在 mime types rb 中再次注册 MIME 类型 但这不起作用 有什么建议么 Thanks 这应该可以工作
  • c2512 错误:没有合适的默认构造函数可用

    即使我声明了构造函数 我也遇到了 c2512 错误 我的代码是这样的 在我的 first h 文件中 我将其声明为 class myClass public tmpM cv Mat model 然后在我的 first cpp 中我做了 in
  • 从 Word OLE 应用程序对象获取应用程序标题

    有没有办法从 Word Application OLE 对象获取窗口标题 我想用它来尝试使用窗口FindWindow 我正在创建一个 OLE 对象并添加一个现有文档 如下所示 App CreateOLEObject Word Applica
  • Java - 如何限制特定方法的方法调用

    我有一个特殊的要求 我需要确保只允许一个类中的特定方法调用第二个类中的公共 非静态 方法 不能使用继承 一种选择是使用 StackTrace 如下所示 A类 java package org rnd stack public class C
  • .ToTitleCase 不适用于所有大写字符串

    Public Function TitleCase ByVal strIn As String Dim result As String Dim culture As New CultureInfo en False Dim tInfo A
  • 将 std::wstring 从 Visual Studio 移植到 mingw gcc

    我正在将一些代码从 Visual Studio 移植到 mingw gcc 我看到了这个声明 if mnode GetTag T val return true 这是 GetTag 方法的定义 const std wstring GetTa
  • Python 多处理与多线程相结合

    我不确定我想做的是否是有效的做法 但事情是这样的 我需要我的程序高度并行化 所以我想我可以创建 2 3 个进程 每个进程可以有 2 3 个线程 1 这可能吗 2 这有什么意义吗 3 这是我的代码 但当我尝试加入进程时它会挂起 PQ mult
  • 如何在 React-Navigation/Drawer 6 中实现“返回”

    我在 React navigation drawer 6 中实现 goBack 功能时遇到问题 react navigation drawer 6 1 4 准确地说 我能够使用以下代码在react navigation drawer 5中完
  • 解析 JSON 数据以将其显示在 gridview 中

    我创建了一个应用程序 它将数据从 URL 解析为 JSON 对象并将其显示在GridView 虽然没有显示错误 但每次运行应用程序时都会收到消息不幸的是 应用程序已停止运行 这是我的申请文件 MainActivity java packag
  • 将 HttpResponse 转换为 .apk 文件

    问题是这样的 我与某个 url 建立互联网连接并收到带有 app example apk 的 HttpResponse 然后我想创建一个文件 apk 在带有此数据的 SD 卡中 以便此下载的应用程序 可以稍后安装 如何将 HttpRespo
  • 如何在样式表中使用非标准自定义字体?

    我有一个PyQt4由外部设计的应用程序 qss使用以下代码创建文件 app QtGui QApplication sys argv stylesheet open mystylesheet qss read app setStyleShee
  • 使用 pyspark 使用嵌套结构 ArrayType 展平数据框

    我有一个具有此架构的数据框 root AUTHOR ID integer nullable false NAME string nullable true Books array nullable false element struct