问题标签 [partition-by]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL 除外运算符和 CTE 选择第一个查询中的所有项目,但不选择第二个查询中的所有项目
我正在尝试获取下面第一个查询中的所有数据,但下面第二个查询中的数据除外。
在这里,我第一次尝试使用with cte
and选择唯一数据/不同数据partition by
。
我尝试使用except,但出现此错误:
关键字“with”附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前面的语句必须以分号结束。***
sql-server - 如何按日期间隔对数据进行分区?
我很好奇这是否可以使用窗口函数按日期范围划分我的数据?我有桌子TerritoryRevenue
:
正如你所看到的,我已经对我的输出进行了排名,Revenue
但没有按子句划分。我想Revenue
在两个时间间隔内获得排名,比如说从 2006 年 7 月到 2007 年 6 月和 2007 年 7 月到 2008 年 6 月。
scala - .rowsBetween(Window.unboundedPreceding,Window.unboundedFollowing)错误火花斯卡拉
您好我正在尝试将每个窗口的最后一个值扩展到该列的窗口的其余部分,count
以便创建一个标志,该标志识别寄存器是否是窗口的最后一个值。我以这种方式尝试过,但没有奏效。
样本 DF:
结果(第一个分区的所有元素的列数需要为 5,第二个分区的所有元素的列数需要为 4):
然后我读到当你使用orderBy
afterwindowPartition
子句时,你必须指定子句.rowsBetween(Window.unboundedPreceding, Window.unboundedFollowing)
才能实现我所需要的。但是,当我尝试它时,我遇到了这个错误:
谢谢你的帮助!
sql - 你如何 Window.partitionBy 超过一个范围或条件?
我有一些按日期时间排序的数据,我想根据另一列(1 或 0)将值相加。但是,我需要这样做,以便它只对 5 秒后的值求和。我该怎么做呢?
前表
我不起作用的伪代码如下
结果看起来像
我不能使用滞后或领先,因为不是每一秒都在列表中。所以它必须是基于 GPS_TimeStamp 的条件。
提前致谢
apache-spark - spark:将有序数据保存到镶木地板
我有 30TB 的数据按日期和小时划分,每小时分成 300 个文件。我进行了一些数据转换,然后希望数据按排序顺序排序并保存,以便 C++ 程序轻松摄取。我了解当您进行序列化时,排序仅在文件中是正确的。我希望通过更好地划分数据来规避这个问题。
我想同时按 sessionID 和时间戳排序。我不希望 sessionID 在不同文件之间拆分。如果我在 SessionID 上进行分区,我将有太多,所以我做一个模 N 来生成 N 个桶,旨在获得 1 个大约 100-200MB 的数据桶:
然后我按日期、时间和存储桶遣返,然后再排序
这会将数据保存到 dt/hr/bucket,每个存储桶中有 1 个文件,但排序丢失。如果我不创建存储桶和重新分区,那么我最终会得到 200 个文件,数据是有序的,但是 sessionIds 被拆分到多个文件中。
编辑:问题似乎出在使用 保存时partitionBy("dt","hr","bucket")
,它随机重新分区数据,因此不再排序。如果我没有保存,partitionBy
那么我得到的正是我所期望的 - N 个存储桶/分区的 N 个文件和 sessionIds 跨越一个文件,所有文件都正确排序。所以我有一个非火花黑客手动迭代所有日期+小时目录
如果您按列分区,排序,然后使用 partitionBy 使用同一列写入,那么您希望直接转储已排序的分区,而不是对数据进行一些随机重新洗牌,这似乎是一个错误。
apache-spark - 在 Spark 中读取使用 PartitionBy 或 BucketBy 写入的文件
在 Spark 中,当我们读取使用 partitionBy 或 bucketBy 写入的文件时,spark 如何识别它们属于这种类型(partitionBy/bucketBy)并因此读取操作变得高效?有人可以解释一下。提前致谢!
sql - SQL Server - 使用 ROW_NUMBER() OVER PARTITION 函数设置值
大家好,感谢您花时间研究我的问题,
背景
我正在使用 ROW_NUMER() 函数和 PARTITION BY..ORDER BY 语句来为我的一个表中的每个值设置一个 varchar 值,并在其末尾增加一个 int 值。
这里的“cf”值来自每个 component_module_id 的 cf1-cfX
我的问题
每当我尝试在其他地方使用这些 cf 值时,例如保存在临时表中,其他 Ordering 和 Grouping 语句都会更改这些值。这就像生成“cf”值的语句被保存,而不是“cf”值本身。
将上面的查询插入到临时表中后#t -
我收到从 cf1 开始并跳转到 cf10 然后 cf100 的“cf”值,cf 值范围从 cf1 到 cf900...我应该只接收从 c1 到 cf29 的值。
我的问题是 - 为什么此列中的值与任何其他正常值不同?为什么将 ROW_NUMBER() OVER (PARTITION BY....)) 计算传递给后续的查询?(如果这实际上是正在发生的事情)。最后,我如何将这些“cf”值视为正常的 VARCHAR 值,并且在我尝试按它们进行分组或排序时不让它们改变。
谢谢你的帮助!
更新
我接受了拉努的建议,
“似乎你最好只存储 int 值,并使用(PERSISTED)计算列来连接你的前缀和 ROW_NUMBER 值。”
并且我的“cf”值在排序后现在可以正确显示。感谢大家标记为已解决。
sql-server - 使用 SSIS 在 ETL 中进行 MAX 分区
我在使用的 SQL Server 中有一个查询MAX OVER Partition BY
。
我想使用 SSIS 在 ETL 中实现这一点。
为了实现,我尝试实现类似于我们如何实现行号的实现。
我添加了一个 SORT 转换并按 Variable8 和 RouterCallKeySequenceNumber 排序,然后我添加了一个脚本转换。
这是我拥有的数据 -
我需要的解决方案如下 -
但这不会返回所需的值。
如果您能提供任何帮助,我将不胜感激。
谢谢