问题标签 [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.

0 投票
2 回答
3417 浏览

scala - Scala:窗口上的collect_list()保持空值

我有一个如下所示的数据框:

我应用以下说明,以便在 C 列中创建一系列值:

结果是这样的,创建列 D 并包含列 C 的值作为序列,而它已删除null值:

但是,我想在新列中保留空值并得到以下结果:

如您所见,结果中仍然有null值。你知道我该怎么做吗?

0 投票
2 回答
3914 浏览

json - Apache spark: Write JSON DataFrame partitionBy nested columns

I have this kind of JSON data:

I read this data using Apache spark and I want to write them partition by id column. When I use this: df.write.partitionBy("data.id").json(<path_to_folder>)

I will get error:
Exception in thread "main" org.apache.spark.sql.AnalysisException: Partition column data.id not found in schema

I also tried to use explode function like that:

That actually helped, but each id partition folder contained the same original JSON file.

EDIT: schema of df DataFrame:

Schema of renamedDf DataFrame:

I am using spark 2.1.0

I found this solution: DataFrame partitionBy on nested columns

And this example:http://bigdatums.net/2016/02/12/how-to-extract-nested-json-data-in-spark/

But none of this helped me to solve my problem.

Thanks in andvance for any help.

0 投票
1 回答
931 浏览

python - 如何在熊猫中获得分组窗口?即像 WINDOW OVER ... PARTITION BY ... 来自 SQL

Pandas 窗口功能,即rolling工作得很好。但是,我知道来自 SQL,Windows 也可以是PARTITIONED BY某个组。

如何在熊猫中获得分组窗口?A:

失败:

如果df.rolling('10s', on='group')使用它,它只适用于“组”是 int 的情况,即在 SQL 中一些具体数量的前/后行。如何按时间保留窗口?

编辑最小样本:

以下工作,但不考虑组:

以下不适用于时间窗口:

失败:window must be an integer尝试使用时间窗口时。

0 投票
0 回答
385 浏览

sqlite - SQLite rank() 通过 c# System.Data.SQLite 和 Mono.Data.Sqlite 支持分区

我在我的一个应用程序中使用 sqlite。我需要在分区上使用 rank()。我正在使用 System.Data.SQLite 提供程序。它是否支持排名和其他窗口功能?使用它时出现错误。它的显示

“(”附近的SQL逻辑错误:语法错误

我还需要在 Xamarin iOS 项目中使用它。需要知道 Mono.Data.SQLite 是否支持 windows 功能。

提前致谢。

0 投票
1 回答
51 浏览

sql - SQL如何在组中排名最高,总组

数据集取自:Tim Hall 的 Oracle-Base 排名/分区文档最初的任务是对部门内的薪水进行排名。MYRANK 列是语法并引入

但现在我想按最高薪水排序,然后是同一部门内的所有记录。然后第二高的薪水再次紧随同部门的所有记录。部门的顺序是一种巧合,它恰好与每个部门的最高薪水的顺序一致。

我想我可以用 rank() 代替 max() 来解决这个问题,例如:

而不是 a order by MAX, DEPTNO,但这失败了:invalid number of arguments

0 投票
1 回答
79 浏览

sql - SQL Server - 过去 52 周到给定周的交易量的分配(总和)

我正在尝试在 SQL 中使用 partition-by 来评估复杂值

它是从过去 56 到 4 周窗口到给定一周的数据量的总和。

表的属性:Product、Shop、Week、Category、Volume

数据:超过150周的数据,

目标:选择“CategoryWeekVolume”的值,这是给定类别过去 56-4 周的交易量总和。

尝试过:我已经在多种组合中尝试过 case-whens,over-partition-by,但在 SQL 方面我不是那么有经验,而且我不知道如何以聪明的方式做到这一点,而不添加 52体积从第 4 周到第 56 周的列。

一般情况是 t0.[WEEK]-t1.[WEEK]>4 and t0.[WEEK]-t1.[WEEK]<57 ,总和应该是每个类别。

我真的很感激任何投入。

0 投票
2 回答
728 浏览

sql - Oracle "connect by prior" 和 "max() over partition by" 删除重复的子树

我正在尝试删除由“先连接”子句返回的重复子树。我希望检查树层次结构的顶级节点,用户可以在其中输入已经是子树一部分的子 ID。看看下面的例子:

此查询返回结果为:

我希望只返回那些 level = max_level 的顶级节点。即我的查询应返回结果为:

如果我尝试使用 WHERE 子句作为“WHERE level = max_level”过滤掉结果,Oracle 会抱怨:

如果您对如何操作有任何想法,请告诉我。谢谢,

0 投票
1 回答
433 浏览

group-by - groupby 并在 pyspark 中加入 vs 窗口

我在 pyspark 中有一个数据框,它有数亿行(这里是它的一个虚拟样本):

我试图spend_active_ind为每个求和,cust_xref_id并保持总和大于零的那些。一种方法是使用 grouby 并加入:

我能想到的另一种方法是使用窗口:

这些方法中的哪一种(或任何其他方法)对于我正在尝试做的事情更有效。谢谢

0 投票
3 回答
158 浏览

sql-server - 仅显示分区依据的最大行的值?

标题可能有点偏离,但是我正在尝试删除一行的值而不删除实际行。

这是我的桌子:

在此处输入图像描述

我想要完成的是:

在此处输入图像描述

ID CustomerIDMAX()值将在未设置 max 和 group by时为我提供空值 Group By Weight

是否有可能在一行中做到这一点?有一个partiton by

就像是:

SELECT MAX(ID) over (partition by CustomerID,Weight)....我知道这是错误的,但如果可能的话,不用加入或 CTE 并且只在 select 语句中的一行中这样做会很棒。

0 投票
1 回答
507 浏览

python - 遍历分区的行号并比较值以在 PySpark SQL (spark 2.4.0) 中创建新列

我想对数据框中的分区的行号进行循环,以检查条件并根据当前 row_number 的结果创建额外的列。

所以,我有一个数据框表示与主 ID <-> 原始 ID 关联的联系人(一个主可以有多个原始)。我用窗口函数和 row_number() 在最近创建的 raws 的分区上对这个数据框进行了分区:

这是我的数据框:

我想要的是在对每个分区的 row_number 进行迭代并执行一些条件(例如,如果 first_name 不为空等)之后创建一个只有不同的主数据和新列的新数据帧,并且如果条件没有在第一个验证分区的row_nb,检查另一个等,直到我循环分区的每个行号。

我想要的最终数据框类似于:

非常感谢您提前提供的帮助。