Spark中使用Map替换列值

2024-03-18

我必须将列列表映射到 Spark 数据集中的另一列:想像这样

val translationMap: Map[Column, Column] = Map(
  lit("foo") -> lit("bar"),
  lit("baz") -> lit("bab")
)

我有一个像这样的数据框:

val df = Seq("foo", "baz").toDF("mov")

所以我打算这样进行翻译:

df.select(
  col("mov"),
  translationMap(col("mov"))
)

但是这段代码会出现以下错误

key not found: movs
java.util.NoSuchElementException: key not found: movs

有没有办法在不连接数百个的情况下执行这样的翻译when是?认为translationMap可以有很多键值对。


代替Map[Column, Column]你应该使用Column包含地图文字:

import org.apache.spark.sql.functions.typedLit

val translationMap: Column = typedLit(Map(
  "foo" -> "bar",
  "baz" -> "bab"
))

其余代码可以保持原样:

df.select(
  col("mov"),
  translationMap(col("mov"))
).show
+---+---------------------------------------+
|mov|keys: [foo,baz], values: [bar,bab][mov]|
+---+---------------------------------------+
|foo|                                    bar|
|baz|                                    bab|
+---+---------------------------------------+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark中使用Map替换列值 的相关文章

随机推荐

  • 设置 body onload 而不使用 标签

    我正在尝试在身体加载后触发一个功能 我知道你可以从 body 标签中执行此操作 但如果可能的话 我更愿意从 JS 中执行此操作 例如 document getElementsByTagName body onload someFunc 这对
  • 就 Android 上的路径而言,多用户功能如何工作?

    背景 从 4 2 版本开始 Android 支持多用户 链接here http developer android com about versions android 4 2 html MultipleUsers and here htt
  • 矩阵 int mat[5][5] 与 int ** 相同吗? [复制]

    这个问题在这里已经有答案了 简单的一维数组被视为指针 但矩阵也是如此吗 然而 一个立方体int 5 5 5 也将被视为int 不 指向整数的指针与整数数组的数组不同 想想它们在记忆中会是什么样子 数组的数组 例如int a 2 2 a 0
  • 从另一个窗口(类)调用方法问题

    在 WPF 应用程序主窗口的代码隐藏文件中 我有一个使用 LINQ to SQL 查询数据库并将结果写入 ObservableCollection 的方法 public void GetStateByDate string shcode M
  • 实体框架代码优先属性与流畅的 API 配置相结合

    我可以将代码优先属性与 Entity Framework 中的实体的 Fluent API 配置结合使用吗 谢谢 是的你可以 我通常更喜欢定义一些约束 例如 通过使用来创建所需的属性 Required 或通过使用定义字符串属性的长度Stri
  • Angular 2 可以沿着路由器传递复杂的对象吗?

    是否可以通过路由器发送复杂的对象 这是我正在做和尝试做的事情 在搜索页面中 用户可以单击结果之一上的按钮 该按钮将调用导致该行触发的方法 this router navigate profile detail selection The s
  • 使用 SAX 和 Java 生成 XML [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道使用 SAX 框架 或类似框架 和 Java 编写 XML 的好教程 或者有一个好例子 吗 搜
  • 将 RGB 转换为 HSV 以及将 HSV 转换为 RGB(范围为 0-255)的算法

    我正在寻找从 RGB 到 HSV 的色彩空间转换器 特别是两种色彩空间的 0 到 255 范围 我已经使用它们很长时间了 此时不知道它们来自哪里 请注意 输入和输出 除了以度为单位的角度 都在 0 到 1 0 的范围内 注意 此代码不对输入
  • Java I/O - 重用InputStream对象

    无论如何 是否可以通过更改其内容来重用输入流 没有新的声明 例如 我能够做到非常接近我的要求 但还不够在下面的代码中我使用SequenceInputStream 每次我添加一个新的InputStream到那个顺序 但我想通过使用相同的 in
  • 在 iOS 7 中调整 ModalViewController 的大小并将其放置在中心

    我试图通过减少其宽度和高度来在 iPad 上显示 modalView 但问题是它不是中心对齐的 在 iOS 6 中它曾经工作得很好 但在 iOS 7 中它不是中心对齐的 下面是我的代码 m helpQA HelpQAViewControll
  • 如何让 Rust 单例的析构函数运行?

    这些是我所知道的在 Rust 中创建单例的方法 macro use extern crate lazy static use std sync Mutex Once ONCE INIT derive Debug struct A usize
  • 最小宽度布局。 Nexus 7 中的错误?

    使用layout swdp 限定符时 我得到的结果如附件中所示 sw 限定符应该意味着最小尺寸必须匹配或大于限定符 这似乎不适用于 Nexus 7 运行 4 2 1 我是否对最小宽度限定符的作用感到困惑 或者 N7 报告错误 为了重现我的测
  • Nuxt3 useAsyncData 无法在已安装的生命周期挂钩上工作

    我仍然对我在这里做错了什么感到有点困惑 本质上我有一个 vue 组件 我想在安装元素后异步加载一些数据 我正在使用 NUXT 3 和组合 API 看起来 onMounted 在渲染之前触发 并且没有正确接收数据 如果我将
  • 如何避免课堂自用

    我有以下课程 public class MyClass public void deleteOrganization Organization organization Delete organization Delete related
  • 为什么 ImageIO.read() 这么慢?

    所以我试图从流中获取 PNG 图像 image ImageIO read inputStream 这段代码运行了十秒钟 我认为问题出在缓慢的InputStream上 所以我尝试先将它加载到缓冲区中 byte bytes inputStrea
  • 如何使用JS通过更改另一个字段值来自动更改一个输入字段值

    有两个输入字段total amount delivery charge total amount字段已经有一个值 现在我希望当我输入一些值时delivery charge字段将改变total amount字段的值 Suppose total
  • 如何清除powershell中的变量内容

    我昨天刚开始学习powershell powershell 非常新 我创建了很多变量用于测试目的 以下是我关于变量的问题 如何列出我之前创建的所有变量 那么如何清除变量的所有内容呢 如何移除 删除变量 如何列出我之前创建的所有变量 这会获取
  • Golang:如何创建未知(动态)地图长度

    我可以通过创建 静态 地图 type m map int map int map int bool 但 键 的长度是动态的 unknown len m 1 2 3 4 2 0 true or unk len m 1 2 3 4 true 我
  • 在 Android Kotlin 中查找日期之间的天数差异

    所以 我已经在 google 上搜索 其中大多数使用 Java 有一个使用 Kotlin 并且经常使用与我使用的时间格式不同的时间格式 yyyy mm dd HH mm ss 所以我尝试编码并卡住了 所以 这是代码 import java
  • Spark中使用Map替换列值

    我必须将列列表映射到 Spark 数据集中的另一列 想像这样 val translationMap Map Column Column Map lit foo gt lit bar lit baz gt lit bab 我有一个像这样的数据