You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by ao...@apache.org on 2022/08/18 23:12:07 UTC
[iceberg] branch master updated: Spark 3.3: Align formatting in bucket and truncate functions (#5573)
This is an automated email from the ASF dual-hosted git repository.
aokolnychyi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/master by this push:
new 39df59308c Spark 3.3: Align formatting in bucket and truncate functions (#5573)
39df59308c is described below
commit 39df59308c9fdaf6d4f4c7a537caa960587fef5e
Author: Anton Okolnychyi <ao...@apple.com>
AuthorDate: Thu Aug 18 16:12:01 2022 -0700
Spark 3.3: Align formatting in bucket and truncate functions (#5573)
---
.../iceberg/spark/functions/BucketFunction.java | 45 ++++++++++++++--------
.../iceberg/spark/functions/TruncateFunction.java | 5 ++-
2 files changed, 32 insertions(+), 18 deletions(-)
diff --git a/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java b/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java
index c21d131584..b5736a866b 100644
--- a/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java
+++ b/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/BucketFunction.java
@@ -53,8 +53,10 @@ import org.apache.spark.unsafe.types.UTF8String;
* results.
*/
public class BucketFunction implements UnboundFunction {
+
private static final int NUM_BUCKETS_ORDINAL = 0;
private static final int VALUE_ORDINAL = 1;
+
private static final Set<DataType> SUPPORTED_NUM_BUCKETS_TYPES =
ImmutableSet.of(DataTypes.ByteType, DataTypes.ShortType, DataTypes.IntegerType);
@@ -156,9 +158,11 @@ public class BucketFunction implements UnboundFunction {
@Override
public Integer produceResult(InternalRow input) {
// return null for null input to match what Spark does in the code-generated versions.
- return input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)
- ? null
- : invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getInt(VALUE_ORDINAL));
+ if (input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
+ return null;
+ } else {
+ return invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getInt(VALUE_ORDINAL));
+ }
}
}
@@ -192,9 +196,11 @@ public class BucketFunction implements UnboundFunction {
@Override
public Integer produceResult(InternalRow input) {
- return input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)
- ? null
- : invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getLong(VALUE_ORDINAL));
+ if (input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
+ return null;
+ } else {
+ return invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getLong(VALUE_ORDINAL));
+ }
}
}
@@ -226,9 +232,11 @@ public class BucketFunction implements UnboundFunction {
@Override
public Integer produceResult(InternalRow input) {
- return input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)
- ? null
- : invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getUTF8String(VALUE_ORDINAL));
+ if (input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
+ return null;
+ } else {
+ return invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getUTF8String(VALUE_ORDINAL));
+ }
}
}
@@ -253,9 +261,11 @@ public class BucketFunction implements UnboundFunction {
@Override
public Integer produceResult(InternalRow input) {
- return input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)
- ? null
- : invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getBinary(VALUE_ORDINAL));
+ if (input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
+ return null;
+ } else {
+ return invoke(input.getInt(NUM_BUCKETS_ORDINAL), input.getBinary(VALUE_ORDINAL));
+ }
}
@Override
@@ -296,10 +306,13 @@ public class BucketFunction implements UnboundFunction {
@Override
public Integer produceResult(InternalRow input) {
- return input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)
- ? null
- : invoke(
- input.getInt(NUM_BUCKETS_ORDINAL), input.getDecimal(VALUE_ORDINAL, precision, scale));
+ if (input.isNullAt(NUM_BUCKETS_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
+ return null;
+ } else {
+ int numBuckets = input.getInt(NUM_BUCKETS_ORDINAL);
+ Decimal value = input.getDecimal(VALUE_ORDINAL, precision, scale);
+ return invoke(numBuckets, value);
+ }
}
@Override
diff --git a/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java b/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java
index 492cda3bed..8cfb529e10 100644
--- a/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java
+++ b/spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/functions/TruncateFunction.java
@@ -348,8 +348,9 @@ public class TruncateFunction implements UnboundFunction {
if (input.isNullAt(WIDTH_ORDINAL) || input.isNullAt(VALUE_ORDINAL)) {
return null;
} else {
- return invoke(
- input.getInt(WIDTH_ORDINAL), input.getDecimal(VALUE_ORDINAL, precision, scale));
+ int width = input.getInt(WIDTH_ORDINAL);
+ Decimal value = input.getDecimal(VALUE_ORDINAL, precision, scale);
+ return invoke(width, value);
}
}
}