当前位置: 首页 > 面试题库 >

窗口功能的默认窗口框架是什么

向杜吟
2023-03-14
问题内容

运行以下代码:

val sales = Seq(
  (0, 0, 0, 5),
  (1, 0, 1, 3),
  (2, 0, 2, 1),
  (3, 1, 0, 2),
  (4, 2, 0, 8),
  (5, 2, 2, 8))
  .toDF("id", "orderID", "prodID", "orderQty")

val orderedByID = Window.orderBy('id)

val totalQty = sum('orderQty).over(orderedByID).as('running_total)
val salesTotalQty = sales.select('*, totalQty).orderBy('id)
salesTotalQty.show

结果是:

+---+-------+------+--------+-------------+
| id|orderID|prodID|orderQty|running_total|
+---+-------+------+--------+-------------+
|  0|      0|     0|       5|            5|
|  1|      0|     1|       3|            8|
|  2|      0|     2|       1|            9|
|  3|      1|     0|       2|           11|
|  4|      2|     0|       8|           19|
|  5|      2|     2|       8|           27|
+---+-------+------+--------+-------------+

上面的代码中没有定义任何窗口框架,它看起来默认的窗口框架是 rowsBetween(Window.unboundedPreceding, Window.currentRow)

不确定我对默认窗口框架的理解是否正确


问题答案:

从Spark Gotchas

默认帧规格取决于给定窗口定义的其他方面:

  • 如果指定了ORDER BY子句,并且该函数接受了帧规范,则该帧规范是由RANGE BETWEEN UNBOUNDED PRECEDING AND
    CURRENT ROW定义的,
  • 否则,帧规格由未绑定的前导和未绑定的后继之间的行定义。



 类似资料:
  • Qt 的 QMainWindow 类提供了一个应用程序主窗口,包括一个菜单栏( menu bar)、多 个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)以及一个 中心部件(central widget),常见的一种界面布局如图 8-1 所示。 图 8-1 Qt 主窗口常见布局示意图 绝大多数现代 GUI 应用程序都会提供一些菜单、上下文菜

  • 问题内容: 我正在探索Hive中的窗口功能,并且能够理解所有UDF的功能。虽然,我无法理解我们与其他功能配合使用的分区和顺序。以下是与我计划构建的查询非常相似的结构。 只是试图了解两个关键字都涉及的后台过程。 感谢帮助:) 问题答案: 分析函数为数据集中每个分区的每一行分配一个等级。 子句确定行的分布方式(如果是配置单元,则在缩减程序之间)。 确定行在分区中的排序方式。 第一阶段由分配 ,数据集中

  • 没有工具栏或任何边框仅纯内容的窗口. 创建无框窗口 在 BrowserWindow的 options中设置 frame 为 false 即可创建无框窗口. 1 const {BrowserWindow} = require('electron') 2 let win = new BrowserWindow({width: 800, height: 600, frame: false}) 3 win

  • 本文向大家介绍emacs 多个窗口或框架,包括了emacs 多个窗口或框架的使用技巧和注意事项,需要的朋友参考一下 示例 Emacs中的“窗口”指的是否则称为“窗格”或“屏幕划分”的内容。一些窗口操作命令包括: 水平分割当前窗口: C-x 2 垂直拆分当前窗口: C-x 3 选择下一个窗口: C-x o 关闭当前窗口: C-x 0 关闭所有其他窗口,但当前窗口除外: C-x 1 Emacs中的“框

  • 本文向大家介绍C++之CWnd窗口框架实例,包括了C++之CWnd窗口框架实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CWnd窗口框架,分享给大家供大家参考。具体分析如下: .h头文件代码如下: .cpp源文件代码如下: 希望本文所述对大家的C++程序设计有所帮助。

  • 我每年都通过联接进行