Skip to content

Commit 0dafc32

Browse files
The TableOptimizer APIs in AWS Glue now return the DpuHours field in each TableOptimizerRun, providing clients visibility to the DPU-hours used for billing in managed Apache Iceberg table compaction optimization.
1 parent d620e22 commit 0dafc32

10 files changed

+112
-12
lines changed

generator/ServiceModels/glue/glue-2017-03-31.api.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10616,6 +10616,7 @@
1061610616
"members":{
1061710617
"NumberOfBytesCompacted":{"shape":"metricCounts"},
1061810618
"NumberOfFilesCompacted":{"shape":"metricCounts"},
10619+
"DpuHours":{"shape":"dpuHours"},
1061910620
"NumberOfDpus":{"shape":"dpuCounts"},
1062010621
"JobDurationInHour":{"shape":"dpuDurationInHour"}
1062110622
}
@@ -10639,6 +10640,7 @@
1063910640
"type":"structure",
1064010641
"members":{
1064110642
"NumberOfOrphanFilesDeleted":{"shape":"metricCounts"},
10643+
"DpuHours":{"shape":"dpuHours"},
1064210644
"NumberOfDpus":{"shape":"dpuCounts"},
1064310645
"JobDurationInHour":{"shape":"dpuDurationInHour"}
1064410646
}
@@ -10657,6 +10659,7 @@
1065710659
"NumberOfDataFilesDeleted":{"shape":"metricCounts"},
1065810660
"NumberOfManifestFilesDeleted":{"shape":"metricCounts"},
1065910661
"NumberOfManifestListsDeleted":{"shape":"metricCounts"},
10662+
"DpuHours":{"shape":"dpuHours"},
1066010663
"NumberOfDpus":{"shape":"dpuCounts"},
1066110664
"JobDurationInHour":{"shape":"dpuDurationInHour"}
1066210665
}
@@ -16581,6 +16584,7 @@
1658116584
"double":{"type":"double"},
1658216585
"dpuCounts":{"type":"integer"},
1658316586
"dpuDurationInHour":{"type":"double"},
16587+
"dpuHours":{"type":"double"},
1658416588
"glueConnectionNameString":{
1658516589
"type":"string",
1658616590
"min":1

generator/ServiceModels/glue/glue-2017-03-31.docs.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6800,7 +6800,7 @@
68006800
"ResourceNumberLimitExceededException$Message": "<p>A message describing the problem.</p>",
68016801
"RunMetrics$NumberOfBytesCompacted": "<p>The number of bytes removed by the compaction job run.</p>",
68026802
"RunMetrics$NumberOfFilesCompacted": "<p>The number of files removed by the compaction job run.</p>",
6803-
"RunMetrics$NumberOfDpus": "<p>The number of DPU hours consumed by the job.</p>",
6803+
"RunMetrics$NumberOfDpus": "<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>",
68046804
"RunMetrics$JobDurationInHour": "<p>The duration of the job in hours.</p>",
68056805
"SchedulerNotRunningException$Message": "<p>A message describing the problem.</p>",
68066806
"SchedulerRunningException$Message": "<p>A message describing the problem.</p>",
@@ -11507,9 +11507,9 @@
1150711507
"dpuCounts": {
1150811508
"base": null,
1150911509
"refs": {
11510-
"IcebergCompactionMetrics$NumberOfDpus": "<p>The number of DPU hours consumed by the job.</p>",
11511-
"IcebergOrphanFileDeletionMetrics$NumberOfDpus": "<p>The number of DPU hours consumed by the job.</p>",
11512-
"IcebergRetentionMetrics$NumberOfDpus": "<p>The number of DPU hours consumed by the job.</p>"
11510+
"IcebergCompactionMetrics$NumberOfDpus": "<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>",
11511+
"IcebergOrphanFileDeletionMetrics$NumberOfDpus": "<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>",
11512+
"IcebergRetentionMetrics$NumberOfDpus": "<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>"
1151311513
}
1151411514
},
1151511515
"dpuDurationInHour": {
@@ -11520,6 +11520,14 @@
1152011520
"IcebergRetentionMetrics$JobDurationInHour": "<p>The duration of the job in hours.</p>"
1152111521
}
1152211522
},
11523+
"dpuHours": {
11524+
"base": null,
11525+
"refs": {
11526+
"IcebergCompactionMetrics$DpuHours": "<p>The number of DPU hours consumed by the job.</p>",
11527+
"IcebergOrphanFileDeletionMetrics$DpuHours": "<p>The number of DPU hours consumed by the job.</p>",
11528+
"IcebergRetentionMetrics$DpuHours": "<p>The number of DPU hours consumed by the job.</p>"
11529+
}
11530+
},
1152311531
"glueConnectionNameString": {
1152411532
"base": null,
1152511533
"refs": {

generator/ServiceModels/glue/glue-2017-03-31.normal.json

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16469,9 +16469,13 @@
1646916469
"shape":"metricCounts",
1647016470
"documentation":"<p>The number of files removed by the compaction job run.</p>"
1647116471
},
16472+
"DpuHours":{
16473+
"shape":"dpuHours",
16474+
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16475+
},
1647216476
"NumberOfDpus":{
1647316477
"shape":"dpuCounts",
16474-
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16478+
"documentation":"<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>"
1647516479
},
1647616480
"JobDurationInHour":{
1647716481
"shape":"dpuDurationInHour",
@@ -16516,9 +16520,13 @@
1651616520
"shape":"metricCounts",
1651716521
"documentation":"<p>The number of orphan files deleted by the orphan file deletion job run.</p>"
1651816522
},
16523+
"DpuHours":{
16524+
"shape":"dpuHours",
16525+
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16526+
},
1651916527
"NumberOfDpus":{
1652016528
"shape":"dpuCounts",
16521-
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16529+
"documentation":"<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>"
1652216530
},
1652316531
"JobDurationInHour":{
1652416532
"shape":"dpuDurationInHour",
@@ -16560,9 +16568,13 @@
1656016568
"shape":"metricCounts",
1656116569
"documentation":"<p>The number of manifest lists deleted by the retention job run.</p>"
1656216570
},
16571+
"DpuHours":{
16572+
"shape":"dpuHours",
16573+
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16574+
},
1656316575
"NumberOfDpus":{
1656416576
"shape":"dpuCounts",
16565-
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
16577+
"documentation":"<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>"
1656616578
},
1656716579
"JobDurationInHour":{
1656816580
"shape":"dpuDurationInHour",
@@ -21584,7 +21596,7 @@
2158421596
},
2158521597
"NumberOfDpus":{
2158621598
"shape":"MessageString",
21587-
"documentation":"<p>The number of DPU hours consumed by the job.</p>"
21599+
"documentation":"<p>The number of DPUs consumed by the job, rounded up to the nearest whole number.</p>"
2158821600
},
2158921601
"JobDurationInHour":{
2159021602
"shape":"MessageString",
@@ -27294,6 +27306,7 @@
2729427306
"double":{"type":"double"},
2729527307
"dpuCounts":{"type":"integer"},
2729627308
"dpuDurationInHour":{"type":"double"},
27309+
"dpuHours":{"type":"double"},
2729727310
"glueConnectionNameString":{
2729827311
"type":"string",
2729927312
"min":1

sdk/src/Services/Glue/Generated/Model/IcebergCompactionMetrics.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,30 @@ namespace Amazon.Glue.Model
3434
/// </summary>
3535
public partial class IcebergCompactionMetrics
3636
{
37+
private double? _dpuHours;
3738
private double? _jobDurationInHour;
3839
private long? _numberOfBytesCompacted;
3940
private int? _numberOfDpus;
4041
private long? _numberOfFilesCompacted;
4142

43+
/// <summary>
44+
/// Gets and sets the property DpuHours.
45+
/// <para>
46+
/// The number of DPU hours consumed by the job.
47+
/// </para>
48+
/// </summary>
49+
public double DpuHours
50+
{
51+
get { return this._dpuHours.GetValueOrDefault(); }
52+
set { this._dpuHours = value; }
53+
}
54+
55+
// Check to see if DpuHours property is set
56+
internal bool IsSetDpuHours()
57+
{
58+
return this._dpuHours.HasValue;
59+
}
60+
4261
/// <summary>
4362
/// Gets and sets the property JobDurationInHour.
4463
/// <para>
@@ -78,7 +97,7 @@ internal bool IsSetNumberOfBytesCompacted()
7897
/// <summary>
7998
/// Gets and sets the property NumberOfDpus.
8099
/// <para>
81-
/// The number of DPU hours consumed by the job.
100+
/// The number of DPUs consumed by the job, rounded up to the nearest whole number.
82101
/// </para>
83102
/// </summary>
84103
public int NumberOfDpus

sdk/src/Services/Glue/Generated/Model/IcebergOrphanFileDeletionMetrics.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,29 @@ namespace Amazon.Glue.Model
3434
/// </summary>
3535
public partial class IcebergOrphanFileDeletionMetrics
3636
{
37+
private double? _dpuHours;
3738
private double? _jobDurationInHour;
3839
private int? _numberOfDpus;
3940
private long? _numberOfOrphanFilesDeleted;
4041

42+
/// <summary>
43+
/// Gets and sets the property DpuHours.
44+
/// <para>
45+
/// The number of DPU hours consumed by the job.
46+
/// </para>
47+
/// </summary>
48+
public double DpuHours
49+
{
50+
get { return this._dpuHours.GetValueOrDefault(); }
51+
set { this._dpuHours = value; }
52+
}
53+
54+
// Check to see if DpuHours property is set
55+
internal bool IsSetDpuHours()
56+
{
57+
return this._dpuHours.HasValue;
58+
}
59+
4160
/// <summary>
4261
/// Gets and sets the property JobDurationInHour.
4362
/// <para>
@@ -59,7 +78,7 @@ internal bool IsSetJobDurationInHour()
5978
/// <summary>
6079
/// Gets and sets the property NumberOfDpus.
6180
/// <para>
62-
/// The number of DPU hours consumed by the job.
81+
/// The number of DPUs consumed by the job, rounded up to the nearest whole number.
6382
/// </para>
6483
/// </summary>
6584
public int NumberOfDpus

sdk/src/Services/Glue/Generated/Model/IcebergRetentionMetrics.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,31 @@ namespace Amazon.Glue.Model
3434
/// </summary>
3535
public partial class IcebergRetentionMetrics
3636
{
37+
private double? _dpuHours;
3738
private double? _jobDurationInHour;
3839
private long? _numberOfDataFilesDeleted;
3940
private int? _numberOfDpus;
4041
private long? _numberOfManifestFilesDeleted;
4142
private long? _numberOfManifestListsDeleted;
4243

44+
/// <summary>
45+
/// Gets and sets the property DpuHours.
46+
/// <para>
47+
/// The number of DPU hours consumed by the job.
48+
/// </para>
49+
/// </summary>
50+
public double DpuHours
51+
{
52+
get { return this._dpuHours.GetValueOrDefault(); }
53+
set { this._dpuHours = value; }
54+
}
55+
56+
// Check to see if DpuHours property is set
57+
internal bool IsSetDpuHours()
58+
{
59+
return this._dpuHours.HasValue;
60+
}
61+
4362
/// <summary>
4463
/// Gets and sets the property JobDurationInHour.
4564
/// <para>
@@ -79,7 +98,7 @@ internal bool IsSetNumberOfDataFilesDeleted()
7998
/// <summary>
8099
/// Gets and sets the property NumberOfDpus.
81100
/// <para>
82-
/// The number of DPU hours consumed by the job.
101+
/// The number of DPUs consumed by the job, rounded up to the nearest whole number.
83102
/// </para>
84103
/// </summary>
85104
public int NumberOfDpus

sdk/src/Services/Glue/Generated/Model/Internal/MarshallTransformations/IcebergCompactionMetricsUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public IcebergCompactionMetrics Unmarshall(JsonUnmarshallerContext context)
6666
int targetDepth = context.CurrentDepth;
6767
while (context.ReadAtDepth(targetDepth))
6868
{
69+
if (context.TestExpression("DpuHours", targetDepth))
70+
{
71+
var unmarshaller = DoubleUnmarshaller.Instance;
72+
unmarshalledObject.DpuHours = unmarshaller.Unmarshall(context);
73+
continue;
74+
}
6975
if (context.TestExpression("JobDurationInHour", targetDepth))
7076
{
7177
var unmarshaller = DoubleUnmarshaller.Instance;

sdk/src/Services/Glue/Generated/Model/Internal/MarshallTransformations/IcebergOrphanFileDeletionMetricsUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public IcebergOrphanFileDeletionMetrics Unmarshall(JsonUnmarshallerContext conte
6666
int targetDepth = context.CurrentDepth;
6767
while (context.ReadAtDepth(targetDepth))
6868
{
69+
if (context.TestExpression("DpuHours", targetDepth))
70+
{
71+
var unmarshaller = DoubleUnmarshaller.Instance;
72+
unmarshalledObject.DpuHours = unmarshaller.Unmarshall(context);
73+
continue;
74+
}
6975
if (context.TestExpression("JobDurationInHour", targetDepth))
7076
{
7177
var unmarshaller = DoubleUnmarshaller.Instance;

sdk/src/Services/Glue/Generated/Model/Internal/MarshallTransformations/IcebergRetentionMetricsUnmarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public IcebergRetentionMetrics Unmarshall(JsonUnmarshallerContext context)
6666
int targetDepth = context.CurrentDepth;
6767
while (context.ReadAtDepth(targetDepth))
6868
{
69+
if (context.TestExpression("DpuHours", targetDepth))
70+
{
71+
var unmarshaller = DoubleUnmarshaller.Instance;
72+
unmarshalledObject.DpuHours = unmarshaller.Unmarshall(context);
73+
continue;
74+
}
6975
if (context.TestExpression("JobDurationInHour", targetDepth))
7076
{
7177
var unmarshaller = DoubleUnmarshaller.Instance;

sdk/src/Services/Glue/Generated/Model/RunMetrics.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ internal bool IsSetNumberOfBytesCompacted()
8484
/// <summary>
8585
/// Gets and sets the property NumberOfDpus.
8686
/// <para>
87-
/// The number of DPU hours consumed by the job.
87+
/// The number of DPUs consumed by the job, rounded up to the nearest whole number.
8888
/// </para>
8989
/// </summary>
9090
public string NumberOfDpus

0 commit comments

Comments
 (0)