Spark scala 数据框 udf 返回行

2024-03-06

假设我有一个数据框,其中包含一列(称为 colA),它是行的序列。我想向 colA 的每条记录附加一个新字段。 (而且新的归档与之前的记录相关联,所以我必须写一个udf。) 这个udf应该怎么写呢?

我尝试编写一个 udf,它以 colA 作为输入,并输出 Seq[Row],其中每条记录都包含新字段。但问题是 udf 无法返回 Seq[Row]/ 例外是“不支持类型 org.apache.spark.sql.Row 的架构”。 我应该怎么办?

我写的udf: val convert = udf[Seq[Row], Seq[Row]](blablabla...) 例外是 java.lang.UnsupportedOperationException: 不支持类型 org.apache.spark.sql.Row 的架构


从 Spark 2.0 开始,您可以创建返回的 UDFRow / Seq[Row],但您必须提供返回类型的架构,例如如果您使用双精度数组:

val schema = ArrayType(DoubleType)

val myUDF = udf((s: Seq[Row]) => {
  s // just pass data without modification
}, schema)

但我真的无法想象这在哪里有用,我宁愿从 UDF 返回元组或案例类(或其 Seq)。

编辑:如果您的行包含超过 22 个字段(元组/案例类的字段限制),这可能会很有用

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

Spark scala 数据框 udf 返回行 的相关文章

随机推荐

  • 查询缓存效率

    我正在使用 MySQLTuner pl 来优化我的网站 尽管我不完全确定如何解决其中一些问题 并且想知道是否有人可以帮助我 我运行 16GB RAM MySQL 设置如下 key buffer 1024M max allowed packe
  • C# 按值复制数组

    我有一个类型数组MyType types 我想制作这个数组的独立副本 我试过这个 MyType types2 new MyType types Length types2 types 但这会创建对第一个的引用 然后我尝试了 Array Co
  • 在 QTextEdit 中激活光标

    我无法找到一种方法来激活 QTextEdit 内的光标 而无需在实际的小部件内单击 我想要做的是 在 QTextEdit 窗口中键入一些内容 单击 QPushButton 并使光标在 QTextEdit 中保持活动状态 而无需再次单击窗口
  • 如何在 Xcode 4.0 中使用编译源?

    在 Xcode 3 0 中 您可以使用 组和文件 面板中的 项目目标 来删除不需要的依赖文件 以下是说明 单击 目标 旁边的箭头 直到在 组和文件 面板中将其展开 单击 xauth 旁边的箭头 单击编译源 删除以下 YAJL 依赖文件 在
  • 引导标准错误位于引导类中的什么位置?

    考虑以下引导程序 library MASS library boot c set seed 1 boot fn function data index mean data index output boot Boston medv boot
  • 如何用 South 重命名外键字段?

    重命名一个简单的 charfield 等似乎很容易 Django 如何使用 South 重命名模型字段 https stackoverflow com questions 3235995 django how to rename a mod
  • Django admin:如何格式化只读字段?

    我有一个模型 Director有两个 DateFields 和两个子类 代码如下 我正在尝试为每个主管创建一个管理页面 其中显示相应的子类实例 而不是Director实例 这部分很简单 我为每个子类创建一个内联 给主 ModelAdmin
  • 交货天数和交货订单数分在两个单独的列中。有没有办法获得有关订单的汇总统计信息?

    我在解释这一点时遇到了一些困难 所以请耐心等待 我对使用 Excel 也很陌生 所以如果有一个简单的修复方法 我提前道歉 I have two columns one listing number of days starting from
  • 使用 xmlrpc 和 jQuery 创建 WordPress 帖子

    我有一个动态页面 用户可以在其中填写一些字段 这些用户都将在 WordPress 博客上拥有一个帐户 我想让他们直接将网页生成的内容发布到博客上 我不想将他们的密码存储在服务器中 因此我想使用 JQuery 在客户端执行此操作 我已经看过标
  • 变量声明中的逗号是什么意思?

    我在中找到了这个includes parser Parser phpMediaWiki PHP 源代码 public function replaceInternalLinks2 s global wgExtraInterlanguageL
  • 如何在 Fog 中使用文件上传 S3 元数据?

    我努力了 my directory files create key key body body metadata custom x And my directory files create key key body body custo
  • android 地图 v2 自定义叠加层在缩放时消失

    当 MapTiler 生成的地图缓存中不包含缩放级别时 Android Maps v2 不会显示地图 我的理解是 Android 地图 v2 将使用给定图块缓存可用的最高缩放级别 那么为什么它要隐藏该图层呢 仔细检查 这是因为我实现的图块提
  • Pytest版本冲突错误

    更新 Debian Jessie 后 pytest 无法工作 py test Traceback most recent call last File usr bin py test line 5 in
  • 如何在intellij中运行spring boot应用程序?

    我想在 intellij idea 中运行演示 spring boot 应用程序 但出现错误 Error 3 32 java package org springframework boot does not exist My pom xm
  • 非平面图的平面化算法

    是否有一种流行的非平面图平面化算法 我目前正计划在 Boost Boost Graph Library 中为无向图实现正交平面布局算法 BGL 有一个实现来检查无向图的平面性 Boyer Myrvold 平面性测试 我计划使用此方法返回的平
  • 在 Mongoose 模式上保存数组属性

    我有一个猫鼬对象架构 类似于以下内容 var postSchema new Schema imagePost images url String text String 我正在尝试使用以下内容创建新帖子 var new post new P
  • 整数超出范围且剩余磁盘空间太小无法将id转换为bigint等解决方案

    When I insert我正进入 状态integer out of range因为我的 id 主键被错误地创建为int代替bigint or bigserial 我试过 ALTER TABLE tbl ALTER COLUMN id TY
  • 为什么 HTML/JavaScript/CSS 不是编译语言,而且它们将来会是编译语言吗?

    为什么 HTML JavaScript CSS 没有成为编译语言 或者甚至合并为单一编译语言 如果浏览器运行 浏览器虚拟机 并且 html javascript css 源可以编译为 浏览器字节码 会怎样 是不是对开发者和用户都有很大的帮助
  • jQuery 是否有类似 :any 或 :matches 伪类的东西?

    我想简化我的选择器 a b a href mailto c d a href mailto To matches a b c d a href mailto 仅使用 jQuery 选择器可以实现这一点吗 或者我必须这样做 a b c d f
  • Spark scala 数据框 udf 返回行

    假设我有一个数据框 其中包含一列 称为 colA 它是行的序列 我想向 colA 的每条记录附加一个新字段 而且新的归档与之前的记录相关联 所以我必须写一个udf 这个udf应该怎么写呢 我尝试编写一个 udf 它以 colA 作为输入 并