scala - 在包含 Scala Spark 数据帧中的数组的列中过滤数组的长度
问题描述
我有一个名为“mydf”的 DataFrame 架构,如下所示:
root
|--properties
| |-- arrayCol: array (nullable = true)
| | |-- element: struct (containsNull = true)
| | | |-- unimportantElem1: string (nullable = true)
| | | |-- unimportantElem2: integer (nullable = true)
我想根据具有大小(数组长度)等于“s”的数组的“arrayCol”列过滤行,并计算这些行的数量。
解决方案
mydf filter(size($"properties.arrayCol") === 4) count
在这里,我正在过滤行以查找列 arrayCol 中具有大小为 4 的数组的所有行。
请注意,arrayCol 是嵌套的 (properties.arrayCol),因此它可能有助于使用嵌套列进行过滤的人。我在发布问题时得到了答案。
推荐阅读
- javascript - 无法在父 js 文件中调用子类方法两次
- ios - 在 Swift 中用动画改变 UIView 的超级视图
- sorting - 如何在删除重复项的同时执行排序+索引?
- docker - 无法连接到在 VSTS 中运行的 Docker 容器
- jquery - jquery简单滑块不再返回
- android - 对于包含 List 的 List ,如何更改 B 内的值并使用 RxJava2 返回修改后的 List?
- javascript - Electron 自动启动打包应用启动欢迎窗口
- jquery - 如何在数据属性标签内达到午夜后将数字加一?
- c# - WPF 应用程序:System.TimeChanged 事件在您进行远程连接时触发?为什么?以及如何避免?
- java - 有条件地将数据发送到spring批处理中的多个写入器