更改增量的逻辑

时间:2019-12-04 11:10:26

标签: python pyspark logic azure-cosmosdb

我有一个用于其他组织的资产。

我正在尝试在给定的一天中如何在组织中使用小时资产。

考虑小时数,因为车辆行驶了总公里数。它将保持增量。

我有一份工作,每小时可以获得组织中存在的资产的小时数。

具有相同组织的SampleData快照资产:

enter image description here

在这种情况下,资产仅在一个组织中使用,因此很容易获得一天的时间。

MaxHours(8) - MinHours(2) = 6 hours a day

但是,如果同一天在多个组织中使用资产。我将获得如下数据。

在这里,我按时间排序。

具有多个组织的SampleData快照资产

enter image description here

如果我按资产和组织分组并获得最小值和最大值。将具有如下数据。

GroupBy的组织和资产

enter image description here

但是现在我不能做最大和最小。

例如:组织1

MaxHour(22) - MinHours(10) = 12 hours a day

错了。

首先,组织1将资产“ A”使用了4个小时,然后资产移至组织2。 当天晚些时候,资产又回到了组织1了2个小时。

所以总共应该是6个小时。

应该基于第二个快照。

14 - 10 = 4

22 - 20 = 2

Total: 6 hours

我找不到资产何时移至其他组织。 并且没有获得执行上述计算的逻辑。

请注意,我一天不能使用90万条记录/行,因此无法用于循环。

我正在连接到CosmosDB的Databrick(Python Spark)中进行操作。

0 个答案:

没有答案