diff --git a/.gitignore b/.gitignore index 13767d622f82..f1e459c8cb0a 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ bin/ # Hive/metastore files metastore_db/ + +# Python stuff +python/.mypy_cache/ diff --git a/api/src/main/java/org/apache/iceberg/Accessors.java b/api/src/main/java/org/apache/iceberg/Accessors.java index 0e0d275c6440..e00a1ad48d79 100644 --- a/api/src/main/java/org/apache/iceberg/Accessors.java +++ b/api/src/main/java/org/apache/iceberg/Accessors.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.util.List; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/api/src/main/java/org/apache/iceberg/PartitionField.java b/api/src/main/java/org/apache/iceberg/PartitionField.java index 4bc5ce5d0075..de8cfcb3c863 100644 --- a/api/src/main/java/org/apache/iceberg/PartitionField.java +++ b/api/src/main/java/org/apache/iceberg/PartitionField.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.base.Objects; import java.io.Serializable; +import org.apache.iceberg.relocated.com.google.common.base.Objects; import org.apache.iceberg.transforms.Transform; /** diff --git a/api/src/main/java/org/apache/iceberg/PartitionSpec.java b/api/src/main/java/org/apache/iceberg/PartitionSpec.java index 9ccce0dadc34..6d402d3d6474 100644 --- a/api/src/main/java/org/apache/iceberg/PartitionSpec.java +++ b/api/src/main/java/org/apache/iceberg/PartitionSpec.java @@ -19,13 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ListMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimaps; -import com.google.common.collect.Sets; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; @@ -35,6 +28,13 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ListMultimap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Multimaps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.transforms.Transforms; import org.apache.iceberg.transforms.UnknownTransform; import org.apache.iceberg.types.Type; diff --git a/api/src/main/java/org/apache/iceberg/Schema.java b/api/src/main/java/org/apache/iceberg/Schema.java index f08354cc123f..86a89c0e77d4 100644 --- a/api/src/main/java/org/apache/iceberg/Schema.java +++ b/api/src/main/java/org/apache/iceberg/Schema.java @@ -19,11 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.BiMap; -import com.google.common.collect.ImmutableBiMap; -import com.google.common.collect.Sets; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; @@ -32,6 +27,11 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.BiMap; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableBiMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types.NestedField; diff --git a/api/src/main/java/org/apache/iceberg/TableScan.java b/api/src/main/java/org/apache/iceberg/TableScan.java index 65a78069cee0..3377bc1841e6 100644 --- a/api/src/main/java/org/apache/iceberg/TableScan.java +++ b/api/src/main/java/org/apache/iceberg/TableScan.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; /** * API for configuring a table scan. diff --git a/api/src/main/java/org/apache/iceberg/Tables.java b/api/src/main/java/org/apache/iceberg/Tables.java index 4e23a08f6016..3681ea6770d7 100644 --- a/api/src/main/java/org/apache/iceberg/Tables.java +++ b/api/src/main/java/org/apache/iceberg/Tables.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; /** * Generic interface for creating and loading a table implementation. diff --git a/api/src/main/java/org/apache/iceberg/catalog/Namespace.java b/api/src/main/java/org/apache/iceberg/catalog/Namespace.java index 2202d5f245ed..e08dd6ffe537 100644 --- a/api/src/main/java/org/apache/iceberg/catalog/Namespace.java +++ b/api/src/main/java/org/apache/iceberg/catalog/Namespace.java @@ -19,8 +19,8 @@ package org.apache.iceberg.catalog; -import com.google.common.base.Joiner; import java.util.Arrays; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; /** * A namespace in a {@link Catalog}. diff --git a/api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java b/api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java index 0e3302a5aa89..115e28f65712 100644 --- a/api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java +++ b/api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java @@ -19,13 +19,13 @@ package org.apache.iceberg.catalog; -import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.iceberg.exceptions.AlreadyExistsException; import org.apache.iceberg.exceptions.NamespaceNotEmptyException; import org.apache.iceberg.exceptions.NoSuchNamespaceException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; /** * Catalog methods for working with namespaces. diff --git a/api/src/main/java/org/apache/iceberg/catalog/TableIdentifier.java b/api/src/main/java/org/apache/iceberg/catalog/TableIdentifier.java index 7e30c8f8b15c..5db74479edc4 100644 --- a/api/src/main/java/org/apache/iceberg/catalog/TableIdentifier.java +++ b/api/src/main/java/org/apache/iceberg/catalog/TableIdentifier.java @@ -19,11 +19,11 @@ package org.apache.iceberg.catalog; -import com.google.common.base.Preconditions; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; import java.util.Arrays; import java.util.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.base.Splitter; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; /** * Identifies a table in iceberg catalog. diff --git a/api/src/main/java/org/apache/iceberg/encryption/EncryptionManager.java b/api/src/main/java/org/apache/iceberg/encryption/EncryptionManager.java index ad712fcd45a7..97f6f639311b 100644 --- a/api/src/main/java/org/apache/iceberg/encryption/EncryptionManager.java +++ b/api/src/main/java/org/apache/iceberg/encryption/EncryptionManager.java @@ -19,10 +19,10 @@ package org.apache.iceberg.encryption; -import com.google.common.collect.Iterables; import java.io.Serializable; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; /** * Module for encrypting and decrypting table data files. diff --git a/api/src/main/java/org/apache/iceberg/events/Listeners.java b/api/src/main/java/org/apache/iceberg/events/Listeners.java index 4a70a79d2448..23ecd1e26dba 100644 --- a/api/src/main/java/org/apache/iceberg/events/Listeners.java +++ b/api/src/main/java/org/apache/iceberg/events/Listeners.java @@ -19,11 +19,11 @@ package org.apache.iceberg.events; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; import java.util.Map; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; /** * Static registration and notification for listeners. diff --git a/api/src/main/java/org/apache/iceberg/expressions/Binder.java b/api/src/main/java/org/apache/iceberg/expressions/Binder.java index 1bc6563b0bc4..ff1d70d328be 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/Binder.java +++ b/api/src/main/java/org/apache/iceberg/expressions/Binder.java @@ -19,12 +19,12 @@ package org.apache.iceberg.expressions; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; import java.util.List; import java.util.Set; import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.expressions.ExpressionVisitors.ExpressionVisitor; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types.StructType; diff --git a/api/src/main/java/org/apache/iceberg/expressions/BoundLiteralPredicate.java b/api/src/main/java/org/apache/iceberg/expressions/BoundLiteralPredicate.java index 65ac03b89008..698b8392bd6b 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/BoundLiteralPredicate.java +++ b/api/src/main/java/org/apache/iceberg/expressions/BoundLiteralPredicate.java @@ -19,8 +19,8 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; import java.util.Comparator; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class BoundLiteralPredicate extends BoundPredicate { private final Literal literal; diff --git a/api/src/main/java/org/apache/iceberg/expressions/BoundSetPredicate.java b/api/src/main/java/org/apache/iceberg/expressions/BoundSetPredicate.java index 337cceab4987..aa2ae268bc29 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/BoundSetPredicate.java +++ b/api/src/main/java/org/apache/iceberg/expressions/BoundSetPredicate.java @@ -19,9 +19,9 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class BoundSetPredicate extends BoundPredicate { private static final Joiner COMMA = Joiner.on(", "); diff --git a/api/src/main/java/org/apache/iceberg/expressions/Expressions.java b/api/src/main/java/org/apache/iceberg/expressions/Expressions.java index 0a976558778c..9be27104d3b1 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/Expressions.java +++ b/api/src/main/java/org/apache/iceberg/expressions/Expressions.java @@ -19,10 +19,10 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.stream.Stream; import org.apache.iceberg.expressions.Expression.Operation; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.transforms.Transform; import org.apache.iceberg.transforms.Transforms; import org.apache.iceberg.types.Types; diff --git a/api/src/main/java/org/apache/iceberg/expressions/Literals.java b/api/src/main/java/org/apache/iceberg/expressions/Literals.java index c5fb103fb0e7..00404a14f12b 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/Literals.java +++ b/api/src/main/java/org/apache/iceberg/expressions/Literals.java @@ -19,7 +19,6 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; import java.io.ObjectStreamException; import java.math.BigDecimal; import java.math.RoundingMode; @@ -35,6 +34,7 @@ import java.util.Comparator; import java.util.Objects; import java.util.UUID; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Type; diff --git a/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java b/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java index d928b3abfe1d..6f599f514305 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java +++ b/api/src/main/java/org/apache/iceberg/expressions/NamedReference.java @@ -19,9 +19,9 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; import org.apache.iceberg.Schema; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Types; public class NamedReference implements UnboundTerm, Reference { diff --git a/api/src/main/java/org/apache/iceberg/expressions/Predicate.java b/api/src/main/java/org/apache/iceberg/expressions/Predicate.java index 347304857788..9642468ad409 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/Predicate.java +++ b/api/src/main/java/org/apache/iceberg/expressions/Predicate.java @@ -19,7 +19,8 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; + +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public abstract class Predicate implements Expression { private final Operation op; diff --git a/api/src/main/java/org/apache/iceberg/expressions/StrictMetricsEvaluator.java b/api/src/main/java/org/apache/iceberg/expressions/StrictMetricsEvaluator.java index 8cc3e58d8672..4a5598e8d453 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/StrictMetricsEvaluator.java +++ b/api/src/main/java/org/apache/iceberg/expressions/StrictMetricsEvaluator.java @@ -19,7 +19,6 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Preconditions; import java.nio.ByteBuffer; import java.util.Collection; import java.util.Map; @@ -28,6 +27,7 @@ import org.apache.iceberg.DataFile; import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.ExpressionVisitors.BoundExpressionVisitor; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.StructType; diff --git a/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java b/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java index fbef5e158934..74bab00ab4af 100644 --- a/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java +++ b/api/src/main/java/org/apache/iceberg/expressions/UnboundPredicate.java @@ -19,14 +19,14 @@ package org.apache.iceberg.expressions; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.List; import java.util.Set; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types.StructType; import org.apache.iceberg.util.CharSequenceSet; diff --git a/api/src/main/java/org/apache/iceberg/io/CloseableGroup.java b/api/src/main/java/org/apache/iceberg/io/CloseableGroup.java index f1cf61f2e24c..c7a20ca01733 100644 --- a/api/src/main/java/org/apache/iceberg/io/CloseableGroup.java +++ b/api/src/main/java/org/apache/iceberg/io/CloseableGroup.java @@ -19,10 +19,10 @@ package org.apache.iceberg.io; -import com.google.common.collect.Lists; import java.io.Closeable; import java.io.IOException; import java.util.Deque; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public abstract class CloseableGroup implements Closeable { private final Deque closeables = Lists.newLinkedList(); diff --git a/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java b/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java index 03c1dd3755fd..719f33fef7ee 100644 --- a/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java +++ b/api/src/main/java/org/apache/iceberg/io/CloseableIterable.java @@ -19,9 +19,6 @@ package org.apache.iceberg.io; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import java.io.Closeable; import java.io.IOException; import java.util.Collections; @@ -30,6 +27,9 @@ import java.util.function.Function; import java.util.function.Predicate; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public interface CloseableIterable extends Iterable, Closeable { diff --git a/api/src/main/java/org/apache/iceberg/transforms/Bucket.java b/api/src/main/java/org/apache/iceberg/transforms/Bucket.java index b5ebb8fe1115..9ab1fd44a5c9 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/Bucket.java +++ b/api/src/main/java/org/apache/iceberg/transforms/Bucket.java @@ -19,11 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Objects; -import com.google.common.collect.Sets; -import com.google.common.hash.HashFunction; -import com.google.common.hash.Hashing; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -34,6 +29,11 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; +import org.apache.iceberg.relocated.com.google.common.hash.HashFunction; +import org.apache.iceberg.relocated.com.google.common.hash.Hashing; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/api/src/main/java/org/apache/iceberg/transforms/Identity.java b/api/src/main/java/org/apache/iceberg/transforms/Identity.java index 2e340d8faa7a..e53a8f115f9c 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/Identity.java +++ b/api/src/main/java/org/apache/iceberg/transforms/Identity.java @@ -19,11 +19,11 @@ package org.apache.iceberg.transforms; -import com.google.common.base.Objects; import java.nio.ByteBuffer; import org.apache.iceberg.expressions.BoundPredicate; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.base.Objects; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/api/src/main/java/org/apache/iceberg/transforms/PartitionSpecVisitor.java b/api/src/main/java/org/apache/iceberg/transforms/PartitionSpecVisitor.java index e521909c893a..13ae759ea085 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/PartitionSpecVisitor.java +++ b/api/src/main/java/org/apache/iceberg/transforms/PartitionSpecVisitor.java @@ -19,11 +19,11 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Lists; import java.util.List; import org.apache.iceberg.PartitionField; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public interface PartitionSpecVisitor { T identity(String sourceName, int sourceId); diff --git a/api/src/main/java/org/apache/iceberg/transforms/ProjectionUtil.java b/api/src/main/java/org/apache/iceberg/transforms/ProjectionUtil.java index 9c75aaa514e4..683d6c03b948 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/ProjectionUtil.java +++ b/api/src/main/java/org/apache/iceberg/transforms/ProjectionUtil.java @@ -19,7 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Iterables; import java.math.BigDecimal; import java.math.BigInteger; import org.apache.iceberg.expressions.BoundLiteralPredicate; @@ -29,6 +28,7 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import static org.apache.iceberg.expressions.Expressions.predicate; diff --git a/api/src/main/java/org/apache/iceberg/transforms/Transforms.java b/api/src/main/java/org/apache/iceberg/transforms/Transforms.java index cd370d481b30..15c6bf55ccf0 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/Transforms.java +++ b/api/src/main/java/org/apache/iceberg/transforms/Transforms.java @@ -19,12 +19,12 @@ package org.apache.iceberg.transforms; -import com.google.common.base.Preconditions; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Type; /** diff --git a/api/src/main/java/org/apache/iceberg/transforms/Truncate.java b/api/src/main/java/org/apache/iceberg/transforms/Truncate.java index 64b64d35c17b..39120b372ccc 100644 --- a/api/src/main/java/org/apache/iceberg/transforms/Truncate.java +++ b/api/src/main/java/org/apache/iceberg/transforms/Truncate.java @@ -19,7 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.base.Objects; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -30,6 +29,7 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.base.Objects; import org.apache.iceberg.types.Type; import org.apache.iceberg.util.UnicodeUtil; diff --git a/api/src/main/java/org/apache/iceberg/types/AssignFreshIds.java b/api/src/main/java/org/apache/iceberg/types/AssignFreshIds.java index c8006da3710f..34c2355d1647 100644 --- a/api/src/main/java/org/apache/iceberg/types/AssignFreshIds.java +++ b/api/src/main/java/org/apache/iceberg/types/AssignFreshIds.java @@ -19,11 +19,11 @@ package org.apache.iceberg.types; -import com.google.common.collect.Lists; import java.util.Iterator; import java.util.List; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class AssignFreshIds extends TypeUtil.CustomOrderSchemaVisitor { private final TypeUtil.NextID nextId; diff --git a/api/src/main/java/org/apache/iceberg/types/CheckCompatibility.java b/api/src/main/java/org/apache/iceberg/types/CheckCompatibility.java index b2ae457ed4f6..7b462a33e7f4 100644 --- a/api/src/main/java/org/apache/iceberg/types/CheckCompatibility.java +++ b/api/src/main/java/org/apache/iceberg/types/CheckCompatibility.java @@ -19,15 +19,15 @@ package org.apache.iceberg.types; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; public class CheckCompatibility extends TypeUtil.CustomOrderSchemaVisitor> { /** diff --git a/api/src/main/java/org/apache/iceberg/types/Comparators.java b/api/src/main/java/org/apache/iceberg/types/Comparators.java index 1b09fe2e766e..57ad1d476126 100644 --- a/api/src/main/java/org/apache/iceberg/types/Comparators.java +++ b/api/src/main/java/org/apache/iceberg/types/Comparators.java @@ -19,9 +19,9 @@ package org.apache.iceberg.types; -import com.google.common.collect.ImmutableMap; import java.nio.ByteBuffer; import java.util.Comparator; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.util.UnicodeUtil; public class Comparators { diff --git a/api/src/main/java/org/apache/iceberg/types/GetProjectedIds.java b/api/src/main/java/org/apache/iceberg/types/GetProjectedIds.java index d33b2f9de991..d50c45e22e6b 100644 --- a/api/src/main/java/org/apache/iceberg/types/GetProjectedIds.java +++ b/api/src/main/java/org/apache/iceberg/types/GetProjectedIds.java @@ -19,10 +19,10 @@ package org.apache.iceberg.types; -import com.google.common.collect.Sets; import java.util.List; import java.util.Set; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; class GetProjectedIds extends TypeUtil.SchemaVisitor> { private final Set fieldIds = Sets.newHashSet(); diff --git a/api/src/main/java/org/apache/iceberg/types/IndexById.java b/api/src/main/java/org/apache/iceberg/types/IndexById.java index d1bed5df046f..4670ce96a3ca 100644 --- a/api/src/main/java/org/apache/iceberg/types/IndexById.java +++ b/api/src/main/java/org/apache/iceberg/types/IndexById.java @@ -19,10 +19,10 @@ package org.apache.iceberg.types; -import com.google.common.collect.Maps; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; class IndexById extends TypeUtil.SchemaVisitor> { private final Map index = Maps.newHashMap(); diff --git a/api/src/main/java/org/apache/iceberg/types/IndexByName.java b/api/src/main/java/org/apache/iceberg/types/IndexByName.java index 44d0a09737e6..2d61c56f8c52 100644 --- a/api/src/main/java/org/apache/iceberg/types/IndexByName.java +++ b/api/src/main/java/org/apache/iceberg/types/IndexByName.java @@ -19,14 +19,14 @@ package org.apache.iceberg.types; -import com.google.common.base.Joiner; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.Deque; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; public class IndexByName extends TypeUtil.SchemaVisitor> { private static final Joiner DOT = Joiner.on("."); diff --git a/api/src/main/java/org/apache/iceberg/types/IndexParents.java b/api/src/main/java/org/apache/iceberg/types/IndexParents.java index eb4bf5c48b51..8224a775ed5a 100644 --- a/api/src/main/java/org/apache/iceberg/types/IndexParents.java +++ b/api/src/main/java/org/apache/iceberg/types/IndexParents.java @@ -19,12 +19,12 @@ package org.apache.iceberg.types; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.Deque; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; public class IndexParents extends TypeUtil.SchemaVisitor> { private final Map idToParent = Maps.newHashMap(); diff --git a/api/src/main/java/org/apache/iceberg/types/PruneColumns.java b/api/src/main/java/org/apache/iceberg/types/PruneColumns.java index a816edf72365..2ef9bfd8b947 100644 --- a/api/src/main/java/org/apache/iceberg/types/PruneColumns.java +++ b/api/src/main/java/org/apache/iceberg/types/PruneColumns.java @@ -19,10 +19,10 @@ package org.apache.iceberg.types; -import com.google.common.collect.Lists; import java.util.List; import java.util.Set; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class PruneColumns extends TypeUtil.SchemaVisitor { private final Set selected; diff --git a/api/src/main/java/org/apache/iceberg/types/ReassignIds.java b/api/src/main/java/org/apache/iceberg/types/ReassignIds.java index 16099493fb96..c4006b1b88c8 100644 --- a/api/src/main/java/org/apache/iceberg/types/ReassignIds.java +++ b/api/src/main/java/org/apache/iceberg/types/ReassignIds.java @@ -19,11 +19,11 @@ package org.apache.iceberg.types; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.List; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class ReassignIds extends TypeUtil.CustomOrderSchemaVisitor { private final Schema sourceSchema; diff --git a/api/src/main/java/org/apache/iceberg/types/TypeUtil.java b/api/src/main/java/org/apache/iceberg/types/TypeUtil.java index 61e2a848a40a..7a5f64c50556 100644 --- a/api/src/main/java/org/apache/iceberg/types/TypeUtil.java +++ b/api/src/main/java/org/apache/iceberg/types/TypeUtil.java @@ -19,13 +19,6 @@ package org.apache.iceberg.types; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.List; import java.util.Locale; import java.util.Map; @@ -34,6 +27,13 @@ import java.util.function.Predicate; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; public class TypeUtil { diff --git a/api/src/main/java/org/apache/iceberg/types/Types.java b/api/src/main/java/org/apache/iceberg/types/Types.java index 48e7c96671ba..41d9a040df94 100644 --- a/api/src/main/java/org/apache/iceberg/types/Types.java +++ b/api/src/main/java/org/apache/iceberg/types/Types.java @@ -19,10 +19,6 @@ package org.apache.iceberg.types; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.io.Serializable; import java.util.Arrays; import java.util.List; @@ -31,6 +27,10 @@ import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Type.NestedType; import org.apache.iceberg.types.Type.PrimitiveType; diff --git a/api/src/main/java/org/apache/iceberg/util/BinaryUtil.java b/api/src/main/java/org/apache/iceberg/util/BinaryUtil.java index 9b394811b1ad..812085f07199 100644 --- a/api/src/main/java/org/apache/iceberg/util/BinaryUtil.java +++ b/api/src/main/java/org/apache/iceberg/util/BinaryUtil.java @@ -19,9 +19,9 @@ package org.apache.iceberg.util; -import com.google.common.base.Preconditions; import java.nio.ByteBuffer; import org.apache.iceberg.expressions.Literal; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class BinaryUtil { // not meant to be instantiated diff --git a/api/src/main/java/org/apache/iceberg/util/CharSequenceSet.java b/api/src/main/java/org/apache/iceberg/util/CharSequenceSet.java index b51ff3448b51..a72468272f65 100644 --- a/api/src/main/java/org/apache/iceberg/util/CharSequenceSet.java +++ b/api/src/main/java/org/apache/iceberg/util/CharSequenceSet.java @@ -19,13 +19,13 @@ package org.apache.iceberg.util; -import com.google.common.collect.Iterables; -import com.google.common.collect.Iterators; -import com.google.common.collect.Sets; import java.io.Serializable; import java.util.Collection; import java.util.Iterator; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Iterators; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; public class CharSequenceSet implements Set, Serializable { public static Set of(Iterable charSequences) { diff --git a/api/src/main/java/org/apache/iceberg/util/UnicodeUtil.java b/api/src/main/java/org/apache/iceberg/util/UnicodeUtil.java index c371d4a93223..40f475ad163d 100644 --- a/api/src/main/java/org/apache/iceberg/util/UnicodeUtil.java +++ b/api/src/main/java/org/apache/iceberg/util/UnicodeUtil.java @@ -19,8 +19,8 @@ package org.apache.iceberg.util; -import com.google.common.base.Preconditions; import org.apache.iceberg.expressions.Literal; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class UnicodeUtil { // not meant to be instantiated diff --git a/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveManifestEvaluator.java b/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveManifestEvaluator.java index b9a476ffa5d7..a35d97988f77 100644 --- a/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveManifestEvaluator.java +++ b/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveManifestEvaluator.java @@ -19,7 +19,6 @@ package org.apache.iceberg.expressions; -import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; import org.apache.iceberg.AssertHelpers; import org.apache.iceberg.ManifestFile; @@ -27,6 +26,7 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.TestHelpers; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveMetricsEvaluator.java b/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveMetricsEvaluator.java index 1f90cf1c1308..57f5255ba1e6 100644 --- a/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveMetricsEvaluator.java +++ b/api/src/test/java/org/apache/iceberg/expressions/TestInclusiveMetricsEvaluator.java @@ -19,13 +19,13 @@ package org.apache.iceberg.expressions; -import com.google.common.collect.ImmutableMap; import org.apache.iceberg.AssertHelpers; import org.apache.iceberg.DataFile; import org.apache.iceberg.Schema; import org.apache.iceberg.TestHelpers.Row; import org.apache.iceberg.TestHelpers.TestDataFile; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.IntegerType; import org.apache.iceberg.types.Types.StringType; diff --git a/api/src/test/java/org/apache/iceberg/expressions/TestStrictMetricsEvaluator.java b/api/src/test/java/org/apache/iceberg/expressions/TestStrictMetricsEvaluator.java index 9f0d465e0ee9..6116fca2aa05 100644 --- a/api/src/test/java/org/apache/iceberg/expressions/TestStrictMetricsEvaluator.java +++ b/api/src/test/java/org/apache/iceberg/expressions/TestStrictMetricsEvaluator.java @@ -19,13 +19,13 @@ package org.apache.iceberg.expressions; -import com.google.common.collect.ImmutableMap; import org.apache.iceberg.AssertHelpers; import org.apache.iceberg.DataFile; import org.apache.iceberg.Schema; import org.apache.iceberg.TestHelpers.Row; import org.apache.iceberg.TestHelpers.TestDataFile; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types.IntegerType; import org.apache.iceberg.types.Types.StringType; import org.junit.Assert; diff --git a/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java b/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java index d45a8cce6f0e..fdeba3746c41 100644 --- a/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java +++ b/api/src/test/java/org/apache/iceberg/io/TestCloseableIterable.java @@ -19,10 +19,10 @@ package org.apache.iceberg.io; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.NoSuchElementException; import org.apache.iceberg.AssertHelpers; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestBucketing.java b/api/src/test/java/org/apache/iceberg/transforms/TestBucketing.java index 868d6be7770c..517932896e70 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestBucketing.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestBucketing.java @@ -19,8 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.hash.HashFunction; -import com.google.common.hash.Hashing; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.math.BigDecimal; @@ -31,6 +29,8 @@ import java.util.UUID; import org.apache.avro.util.Utf8; import org.apache.iceberg.expressions.Literal; +import org.apache.iceberg.relocated.com.google.common.hash.HashFunction; +import org.apache.iceberg.relocated.com.google.common.hash.Hashing; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestBucketingProjection.java b/api/src/test/java/org/apache/iceberg/transforms/TestBucketingProjection.java index 54006f5751b2..af487ffdb288 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestBucketingProjection.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestBucketingProjection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.util.UUID; @@ -31,6 +29,8 @@ import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestDatesProjection.java b/api/src/test/java/org/apache/iceberg/transforms/TestDatesProjection.java index abee7e857122..475ec7f1afcd 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestDatesProjection.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestDatesProjection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.stream.Collectors; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; @@ -28,6 +26,8 @@ import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestProjection.java b/api/src/test/java/org/apache/iceberg/transforms/TestProjection.java index e79cab2003a3..445bf42ed47a 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestProjection.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestProjection.java @@ -19,7 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Lists; import java.util.List; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; @@ -30,6 +29,7 @@ import org.apache.iceberg.expressions.Or; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestTimestampsProjection.java b/api/src/test/java/org/apache/iceberg/transforms/TestTimestampsProjection.java index ad86b8a75024..3af41473d467 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestTimestampsProjection.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestTimestampsProjection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.stream.Collectors; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; @@ -28,6 +26,8 @@ import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/api/src/test/java/org/apache/iceberg/transforms/TestTruncatesProjection.java b/api/src/test/java/org/apache/iceberg/transforms/TestTruncatesProjection.java index dbb547bad42d..298aee34d6f2 100644 --- a/api/src/test/java/org/apache/iceberg/transforms/TestTruncatesProjection.java +++ b/api/src/test/java/org/apache/iceberg/transforms/TestTruncatesProjection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.transforms; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.util.stream.Collectors; @@ -30,6 +28,8 @@ import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.UnboundPredicate; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java b/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java index b0ada19e23bd..4d51803a5b90 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java @@ -19,9 +19,6 @@ package org.apache.iceberg.arrow; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.util.List; import java.util.Map; import org.apache.arrow.vector.types.DateUnit; @@ -31,6 +28,9 @@ import org.apache.arrow.vector.types.pojo.Field; import org.apache.arrow.vector.types.pojo.FieldType; import org.apache.arrow.vector.types.pojo.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.ListType; import org.apache.iceberg.types.Types.MapType; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java index c8d956addfc0..cbe3eacc9139 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java @@ -19,7 +19,6 @@ package org.apache.iceberg.arrow.vectorized; -import com.google.common.base.Preconditions; import java.util.Map; import org.apache.arrow.memory.BufferAllocator; import org.apache.arrow.vector.BigIntVector; @@ -38,6 +37,7 @@ import org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator; import org.apache.iceberg.parquet.ParquetUtil; import org.apache.iceberg.parquet.VectorizedReader; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Types; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.column.Dictionary; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java index e2292b20b36f..60799d017ccc 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java @@ -19,9 +19,9 @@ package org.apache.iceberg.arrow.vectorized.parquet; -import com.google.common.base.Preconditions; import java.io.IOException; import java.nio.ByteBuffer; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.parquet.bytes.ByteBufferInputStream; import org.apache.parquet.bytes.BytesUtils; import org.apache.parquet.column.values.ValuesReader; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java index d0d05836b544..2692cfc59747 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java @@ -19,12 +19,12 @@ package org.apache.iceberg.arrow.vectorized.parquet; -import com.google.common.base.Preconditions; import org.apache.arrow.vector.FieldVector; import org.apache.arrow.vector.IntVector; import org.apache.iceberg.arrow.vectorized.NullabilityHolder; import org.apache.iceberg.parquet.BaseColumnIterator; import org.apache.iceberg.parquet.BasePageIterator; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.column.Dictionary; import org.apache.parquet.column.page.PageReader; diff --git a/build.gradle b/build.gradle index 6fbcdb01c680..1bd68a574309 100644 --- a/build.gradle +++ b/build.gradle @@ -84,10 +84,6 @@ subprojects { dependencies { compile 'org.slf4j:slf4j-api' - compile('com.google.guava:guava') { - // may be LGPL - use ALv2 findbugs-annotations instead - exclude group: 'com.google.code.findbugs' - } compile 'com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1' testCompile 'junit:junit' @@ -103,20 +99,61 @@ subprojects { } } -apply from: 'baseline.gradle' -apply from: 'deploy.gradle' -apply from: 'tasks.gradle' -apply from: 'jmh.gradle' +project(':iceberg-bundled-guava') { + apply plugin: 'com.github.johnrengelman.shadow' + + tasks.jar.dependsOn tasks.shadowJar + + dependencies { + compileOnly('com.google.guava:guava') { + exclude group: 'com.google.code.findbugs' + // may be LGPL - use ALv2 findbugs-annotations instead + exclude group: 'com.google.errorprone' + exclude group: 'com.google.j2objc' + } + } + + shadowJar { + classifier null + configurations = [project.configurations.compileOnly] + zip64 true + + // include the LICENSE and NOTICE files for the shaded Jar + from(projectDir) { + include 'LICENSE' + include 'NOTICE' + } + + dependencies { + exclude(dependency('com.github.stephenc.findbugs:findbugs-annotations')) + exclude(dependency('org.slf4j:slf4j-api')) + exclude(dependency('org.checkerframework:checker-qual')) + } + + relocate 'com.google.common', 'org.apache.iceberg.relocated.com.google.common' + + minimize() + } + + jar { + classifier 'empty' + } +} project(':iceberg-api') { dependencies { + compile project(path: ':iceberg-bundled-guava', configuration: 'shadow') testCompile "org.apache.avro:avro" testCompile 'joda-time:joda-time' } } -project(':iceberg-common') {} - +project(':iceberg-common') { + dependencies { + compile project(path: ':iceberg-bundled-guava', configuration: 'shadow') + } +} + project(':iceberg-core') { dependencies { compile project(':iceberg-api') @@ -385,12 +422,11 @@ project(':iceberg-pig') { project(':iceberg-spark-runtime') { apply plugin: 'com.github.johnrengelman.shadow' - tasks.assemble.dependsOn tasks.shadowJar - tasks.install.dependsOn tasks.shadowJar - tasks.javadocJar.dependsOn tasks.shadowJar + tasks.jar.dependsOn tasks.shadowJar configurations { - compileOnly { + compile { + exclude group: 'org.apache.spark' // included in Spark exclude group: 'org.slf4j' exclude group: 'org.apache.commons' @@ -403,12 +439,12 @@ project(':iceberg-spark-runtime') { } dependencies { - compileOnly project(':iceberg-spark') + compile project(':iceberg-spark') + compile 'org.apache.spark:spark-hive_2.11' } shadowJar { - // shade compileOnly dependencies to avoid including in transitive dependencies - configurations = [project.configurations.compileOnly] + configurations = [project.configurations.compile] zip64 true @@ -438,7 +474,11 @@ project(':iceberg-spark-runtime') { relocate 'org.apache.arrow', 'org.apache.iceberg.shaded.org.apache.arrow' relocate 'com.carrotsearch', 'org.apache.iceberg.shaded.com.carrotsearch' - archiveName = "iceberg-spark-runtime-${version}.${extension}" + classifier null + } + + jar { + classifier = 'empty' } } @@ -476,3 +516,9 @@ String getJavadocVersion() { throw new Exception("Neither version.txt nor git version exists") } } + +apply from: 'baseline.gradle' +apply from: 'deploy.gradle' +apply from: 'tasks.gradle' +apply from: 'jmh.gradle' + diff --git a/bundled-guava/LICENSE b/bundled-guava/LICENSE new file mode 100644 index 000000000000..597de019cdd7 --- /dev/null +++ b/bundled-guava/LICENSE @@ -0,0 +1,211 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- + +This binary artifact contains Google Guava. + +Copyright: 2006-2019 The Guava Authors +Home page: https://github.com/google/guava +License: http://www.apache.org/licenses/LICENSE-2.0 + diff --git a/bundled-guava/NOTICE b/bundled-guava/NOTICE new file mode 100644 index 000000000000..0f0fa79e5924 --- /dev/null +++ b/bundled-guava/NOTICE @@ -0,0 +1,7 @@ + +Apache Iceberg (incubating) +Copyright 2017-2020 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + diff --git a/bundled-guava/src/main/java/org/apache/iceberg/GuavaClasses.java b/bundled-guava/src/main/java/org/apache/iceberg/GuavaClasses.java new file mode 100644 index 000000000000..82bfa7bf3528 --- /dev/null +++ b/bundled-guava/src/main/java/org/apache/iceberg/GuavaClasses.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.iceberg; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Joiner; +import com.google.common.base.MoreObjects; +import com.google.common.base.Objects; +import com.google.common.base.Preconditions; +import com.google.common.base.Splitter; +import com.google.common.base.Throwables; +import com.google.common.collect.BiMap; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.ImmutableBiMap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.common.collect.Iterators; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.MapMaker; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Ordering; +import com.google.common.collect.Sets; +import com.google.common.collect.Streams; +import com.google.common.hash.HashFunction; +import com.google.common.hash.Hasher; +import com.google.common.hash.Hashing; +import com.google.common.io.Files; +import com.google.common.primitives.Bytes; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.common.util.concurrent.ThreadFactoryBuilder; + +//inspired in part by https://github.com/apache/avro/blob/release-1.8.2/lang/java/guava/src/main/java/org/apache/avro/GuavaClasses.java +public class GuavaClasses { + + /* + * Referencing Guava classes here includes them in the minimized and relocated Guava jar + */ + static { + VisibleForTesting.class.getName(); + Joiner.class.getName(); + MoreObjects.class.getName(); + Objects.class.getName(); + Preconditions.class.getName(); + Splitter.class.getName(); + Throwables.class.getName(); + BiMap.class.getName(); + FluentIterable.class.getName(); + ImmutableBiMap.class.getName(); + ImmutableList.class.getName(); + ImmutableMap.class.getName(); + ImmutableSet.class.getName(); + Iterables.class.getName(); + Iterators.class.getName(); + ListMultimap.class.getName(); + Lists.class.getName(); + MapMaker.class.getName(); + Maps.class.getName(); + Multimap.class.getName(); + Multimaps.class.getName(); + Ordering.class.getName(); + Sets.class.getName(); + Streams.class.getName(); + Hasher.class.getName(); + HashFunction.class.getName(); + Hashing.class.getName(); + Files.class.getName(); + Bytes.class.getName(); + MoreExecutors.class.getName(); + ThreadFactoryBuilder.class.getName(); + Iterables.class.getName(); + } + +} + diff --git a/common/src/main/java/org/apache/iceberg/common/DynClasses.java b/common/src/main/java/org/apache/iceberg/common/DynClasses.java index d6fca621bc1b..ec7867d1093b 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynClasses.java +++ b/common/src/main/java/org/apache/iceberg/common/DynClasses.java @@ -19,9 +19,9 @@ package org.apache.iceberg.common; -import com.google.common.base.Joiner; import java.util.LinkedHashSet; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; public class DynClasses { diff --git a/common/src/main/java/org/apache/iceberg/common/DynConstructors.java b/common/src/main/java/org/apache/iceberg/common/DynConstructors.java index d564249bf013..ccc280706513 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynConstructors.java +++ b/common/src/main/java/org/apache/iceberg/common/DynConstructors.java @@ -19,8 +19,6 @@ package org.apache.iceberg.common; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.security.AccessController; @@ -28,6 +26,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.base.Throwables; /** diff --git a/common/src/main/java/org/apache/iceberg/common/DynFields.java b/common/src/main/java/org/apache/iceberg/common/DynFields.java index 196399aa7494..2a11eea2dd4f 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynFields.java +++ b/common/src/main/java/org/apache/iceberg/common/DynFields.java @@ -19,16 +19,17 @@ package org.apache.iceberg.common; -import com.google.common.base.Joiner; -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; -import com.google.common.collect.Sets; + import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.base.Throwables; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; public class DynFields { diff --git a/common/src/main/java/org/apache/iceberg/common/DynMethods.java b/common/src/main/java/org/apache/iceberg/common/DynMethods.java index f9ece6415342..66522fed67c5 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynMethods.java +++ b/common/src/main/java/org/apache/iceberg/common/DynMethods.java @@ -19,14 +19,14 @@ package org.apache.iceberg.common; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Arrays; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.base.Throwables; /** diff --git a/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java b/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java index 2ecf3b6ee2b2..9e41a57a2584 100644 --- a/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java +++ b/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Collection; import java.util.List; @@ -29,6 +26,9 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.util.ParallelIterable; import org.apache.iceberg.util.ThreadPools; diff --git a/core/src/main/java/org/apache/iceberg/AllEntriesTable.java b/core/src/main/java/org/apache/iceberg/AllEntriesTable.java index 9c6aa8561178..20b1bf5f0cfd 100644 --- a/core/src/main/java/org/apache/iceberg/AllEntriesTable.java +++ b/core/src/main/java/org/apache/iceberg/AllEntriesTable.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; /** diff --git a/core/src/main/java/org/apache/iceberg/AllManifestsTable.java b/core/src/main/java/org/apache/iceberg/AllManifestsTable.java index eb81b786448f..88929a293931 100644 --- a/core/src/main/java/org/apache/iceberg/AllManifestsTable.java +++ b/core/src/main/java/org/apache/iceberg/AllManifestsTable.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; import java.io.IOException; import java.util.Collection; import org.apache.iceberg.avro.Avro; @@ -30,6 +27,9 @@ import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.apache.iceberg.types.Types; /** diff --git a/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java b/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java index 3cda654007a3..3f7139d0be56 100644 --- a/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.util.Collection; import org.apache.iceberg.events.Listeners; import org.apache.iceberg.events.ScanEvent; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java b/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java index 00f493f80ae3..98c69437b947 100644 --- a/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java +++ b/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; public class BaseCombinedScanTask implements CombinedScanTask { private final List tasks; diff --git a/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java b/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java index 988b07eb0596..e093fb340d0e 100644 --- a/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java +++ b/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java @@ -19,15 +19,15 @@ package org.apache.iceberg; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; +import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; class BaseFileScanTask implements FileScanTask { private final DataFile file; diff --git a/core/src/main/java/org/apache/iceberg/BaseManifestReader.java b/core/src/main/java/org/apache/iceberg/BaseManifestReader.java index 2d72b62afcd0..d253555a5afd 100644 --- a/core/src/main/java/org/apache/iceberg/BaseManifestReader.java +++ b/core/src/main/java/org/apache/iceberg/BaseManifestReader.java @@ -19,10 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Collection; import java.util.List; @@ -40,6 +36,10 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.CloseableIterator; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import static org.apache.iceberg.expressions.Expressions.alwaysTrue; diff --git a/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java b/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java index 44ba38047306..9dbd0fa898e4 100644 --- a/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java +++ b/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; import org.apache.iceberg.encryption.EncryptionManager; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.LocationProvider; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; abstract class BaseMetadataTable implements Table { private PartitionSpec spec = PartitionSpec.unpartitioned(); diff --git a/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java b/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java index f23a52f05636..5fd02f5fe0e0 100644 --- a/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java +++ b/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java @@ -19,12 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.MapMaker; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Map; import java.util.Set; @@ -35,6 +29,12 @@ import org.apache.iceberg.exceptions.NoSuchTableException; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.MapMaker; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Tasks; import org.apache.iceberg.util.ThreadPools; import org.slf4j.Logger; diff --git a/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java b/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java index 3b8295aa7e9a..6f709832e34f 100644 --- a/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java +++ b/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Objects; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; import java.util.Set; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; @@ -32,6 +29,9 @@ import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.LocationProvider; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Tasks; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/BaseOverwriteFiles.java b/core/src/main/java/org/apache/iceberg/BaseOverwriteFiles.java index b75dbf75a601..1664c193538e 100644 --- a/core/src/main/java/org/apache/iceberg/BaseOverwriteFiles.java +++ b/core/src/main/java/org/apache/iceberg/BaseOverwriteFiles.java @@ -19,8 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; import java.util.ArrayList; import java.util.List; import org.apache.iceberg.exceptions.ValidationException; @@ -29,6 +27,8 @@ import org.apache.iceberg.expressions.InclusiveMetricsEvaluator; import org.apache.iceberg.expressions.Projections; import org.apache.iceberg.expressions.StrictMetricsEvaluator; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class BaseOverwriteFiles extends MergingSnapshotProducer implements OverwriteFiles { private boolean validateAddedFilesMatchOverwriteFilter = false; diff --git a/core/src/main/java/org/apache/iceberg/BaseRewriteFiles.java b/core/src/main/java/org/apache/iceberg/BaseRewriteFiles.java index e2ce6e3a0113..d2daac5f9b39 100644 --- a/core/src/main/java/org/apache/iceberg/BaseRewriteFiles.java +++ b/core/src/main/java/org/apache/iceberg/BaseRewriteFiles.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; class BaseRewriteFiles extends MergingSnapshotProducer implements RewriteFiles { BaseRewriteFiles(String tableName, TableOperations ops) { diff --git a/core/src/main/java/org/apache/iceberg/BaseRewriteManifests.java b/core/src/main/java/org/apache/iceberg/BaseRewriteManifests.java index 2f8c5df3e2f2..405d3fe9e82a 100644 --- a/core/src/main/java/org/apache/iceberg/BaseRewriteManifests.java +++ b/core/src/main/java/org/apache/iceberg/BaseRewriteManifests.java @@ -19,12 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -41,6 +35,12 @@ import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Pair; import org.apache.iceberg.util.Tasks; import org.apache.iceberg.util.ThreadPools; diff --git a/core/src/main/java/org/apache/iceberg/BaseSnapshot.java b/core/src/main/java/org/apache/iceberg/BaseSnapshot.java index 59f49f0eb89f..91466c89d476 100644 --- a/core/src/main/java/org/apache/iceberg/BaseSnapshot.java +++ b/core/src/main/java/org/apache/iceberg/BaseSnapshot.java @@ -19,11 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -32,6 +27,11 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class BaseSnapshot implements Snapshot { private static final long INITIAL_SEQUENCE_NUMBER = 0; diff --git a/core/src/main/java/org/apache/iceberg/BaseTableScan.java b/core/src/main/java/org/apache/iceberg/BaseTableScan.java index fb0e5f7dc0ab..9e55e0ee2981 100644 --- a/core/src/main/java/org/apache/iceberg/BaseTableScan.java +++ b/core/src/main/java/org/apache/iceberg/BaseTableScan.java @@ -19,11 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; @@ -38,6 +33,11 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.FluentIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.util.BinPacking; import org.slf4j.Logger; diff --git a/core/src/main/java/org/apache/iceberg/BaseTransaction.java b/core/src/main/java/org/apache/iceberg/BaseTransaction.java index d980ab3a4489..81b7960747f1 100644 --- a/core/src/main/java/org/apache/iceberg/BaseTransaction.java +++ b/core/src/main/java/org/apache/iceberg/BaseTransaction.java @@ -19,10 +19,6 @@ package org.apache.iceberg; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.List; import java.util.Map; import java.util.Set; @@ -33,6 +29,10 @@ import org.apache.iceberg.exceptions.NoSuchTableException; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.LocationProvider; +import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.PropertyUtil; import org.apache.iceberg.util.Tasks; import org.slf4j.Logger; diff --git a/core/src/main/java/org/apache/iceberg/DataFiles.java b/core/src/main/java/org/apache/iceberg/DataFiles.java index abab0f97d4fe..1406a52c246b 100644 --- a/core/src/main/java/org/apache/iceberg/DataFiles.java +++ b/core/src/main/java/org/apache/iceberg/DataFiles.java @@ -19,8 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.nio.ByteBuffer; import java.util.List; import java.util.Locale; @@ -30,6 +28,8 @@ import org.apache.iceberg.encryption.EncryptionKeyMetadata; import org.apache.iceberg.hadoop.HadoopInputFile; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.util.ByteBuffers; diff --git a/core/src/main/java/org/apache/iceberg/DataFilesTable.java b/core/src/main/java/org/apache/iceberg/DataFilesTable.java index 53b6a97dd1c2..0c010cf175af 100644 --- a/core/src/main/java/org/apache/iceberg/DataFilesTable.java +++ b/core/src/main/java/org/apache/iceberg/DataFilesTable.java @@ -19,14 +19,14 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; /** diff --git a/core/src/main/java/org/apache/iceberg/DataTableScan.java b/core/src/main/java/org/apache/iceberg/DataTableScan.java index f3a5d923594e..ce78104a010f 100644 --- a/core/src/main/java/org/apache/iceberg/DataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/DataTableScan.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.util.ThreadPools; public class DataTableScan extends BaseTableScan { diff --git a/core/src/main/java/org/apache/iceberg/FastAppend.java b/core/src/main/java/org/apache/iceberg/FastAppend.java index 161b16975184..7f7e62f7d238 100644 --- a/core/src/main/java/org/apache/iceberg/FastAppend.java +++ b/core/src/main/java/org/apache/iceberg/FastAppend.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import java.util.Map; @@ -31,6 +28,9 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import static org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED; import static org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT; diff --git a/core/src/main/java/org/apache/iceberg/FileHistory.java b/core/src/main/java/org/apache/iceberg/FileHistory.java index 5855b473e405..89d8fd367059 100644 --- a/core/src/main/java/org/apache/iceberg/FileHistory.java +++ b/core/src/main/java/org/apache/iceberg/FileHistory.java @@ -19,16 +19,16 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Set; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.CharSequenceWrapper; diff --git a/core/src/main/java/org/apache/iceberg/FindFiles.java b/core/src/main/java/org/apache/iceberg/FindFiles.java index 4690277cbafa..dfe202114540 100644 --- a/core/src/main/java/org/apache/iceberg/FindFiles.java +++ b/core/src/main/java/org/apache/iceberg/FindFiles.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; @@ -29,6 +28,7 @@ import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class FindFiles { private FindFiles() { diff --git a/core/src/main/java/org/apache/iceberg/GenericDataFile.java b/core/src/main/java/org/apache/iceberg/GenericDataFile.java index aa427cbc5e16..ebe96c1e1d52 100644 --- a/core/src/main/java/org/apache/iceberg/GenericDataFile.java +++ b/core/src/main/java/org/apache/iceberg/GenericDataFile.java @@ -19,10 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Arrays; @@ -32,6 +28,10 @@ import org.apache.avro.generic.IndexedRecord; import org.apache.avro.specific.SpecificData; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.ByteBuffers; diff --git a/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java b/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java index 9fc29a62bbff..cc2781801b49 100644 --- a/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java +++ b/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; import org.apache.avro.generic.IndexedRecord; import org.apache.avro.specific.SpecificData; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; import org.apache.iceberg.types.Types; class GenericManifestEntry implements ManifestEntry, IndexedRecord, SpecificData.SchemaConstructable, StructLike { diff --git a/core/src/main/java/org/apache/iceberg/GenericManifestFile.java b/core/src/main/java/org/apache/iceberg/GenericManifestFile.java index 26f7153f81af..e03e25596fcf 100644 --- a/core/src/main/java/org/apache/iceberg/GenericManifestFile.java +++ b/core/src/main/java/org/apache/iceberg/GenericManifestFile.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.collect.Lists; import java.io.Serializable; import java.util.Collections; import java.util.List; @@ -31,6 +28,9 @@ import org.apache.avro.specific.SpecificData.SchemaConstructable; import org.apache.iceberg.avro.AvroSchemaUtil; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; public class GenericManifestFile diff --git a/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java b/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java index ae1d5a53e33d..fb1051cff517 100644 --- a/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java +++ b/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Arrays; @@ -29,6 +28,7 @@ import org.apache.avro.specific.SpecificData.SchemaConstructable; import org.apache.iceberg.ManifestFile.PartitionFieldSummary; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.ByteBuffers; diff --git a/core/src/main/java/org/apache/iceberg/HistoryTable.java b/core/src/main/java/org/apache/iceberg/HistoryTable.java index fd4914a22bf1..f116e915d217 100644 --- a/core/src/main/java/org/apache/iceberg/HistoryTable.java +++ b/core/src/main/java/org/apache/iceberg/HistoryTable.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.util.Map; import java.util.Set; import java.util.function.Function; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.SnapshotUtil; diff --git a/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java b/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java index a2c3d9858d3a..98be40627dfd 100644 --- a/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java @@ -19,17 +19,17 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.Collection; import java.util.List; import java.util.Set; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.FluentIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.SnapshotUtil; import org.apache.iceberg.util.ThreadPools; diff --git a/core/src/main/java/org/apache/iceberg/InheritableMetadataFactory.java b/core/src/main/java/org/apache/iceberg/InheritableMetadataFactory.java index 043428053fd9..3c271bc1b65a 100644 --- a/core/src/main/java/org/apache/iceberg/InheritableMetadataFactory.java +++ b/core/src/main/java/org/apache/iceberg/InheritableMetadataFactory.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; class InheritableMetadataFactory { diff --git a/core/src/main/java/org/apache/iceberg/LocationProviders.java b/core/src/main/java/org/apache/iceberg/LocationProviders.java index af4414e9ade5..70de7ac9a77b 100644 --- a/core/src/main/java/org/apache/iceberg/LocationProviders.java +++ b/core/src/main/java/org/apache/iceberg/LocationProviders.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.util.Map; import org.apache.hadoop.fs.Path; import org.apache.iceberg.io.LocationProvider; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.transforms.Transform; import org.apache.iceberg.transforms.Transforms; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java b/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java index 4e0054975a10..9e4b896a1caa 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java +++ b/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java @@ -19,14 +19,14 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; /** diff --git a/core/src/main/java/org/apache/iceberg/ManifestFiles.java b/core/src/main/java/org/apache/iceberg/ManifestFiles.java index 203d69063675..ea72e2f660af 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestFiles.java +++ b/core/src/main/java/org/apache/iceberg/ManifestFiles.java @@ -19,13 +19,13 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.Map; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class ManifestFiles { private ManifestFiles() { diff --git a/core/src/main/java/org/apache/iceberg/ManifestGroup.java b/core/src/main/java/org/apache/iceberg/ManifestGroup.java index ac7f146682e5..b98176e69264 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestGroup.java +++ b/core/src/main/java/org/apache/iceberg/ManifestGroup.java @@ -21,9 +21,6 @@ import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.List; import java.util.Map; import java.util.Set; @@ -38,6 +35,9 @@ import org.apache.iceberg.expressions.ResidualEvaluator; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.ParallelIterable; diff --git a/core/src/main/java/org/apache/iceberg/ManifestListWriter.java b/core/src/main/java/org/apache/iceberg/ManifestListWriter.java index 1cf9c92e097b..6f0c682a0d2b 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestListWriter.java +++ b/core/src/main/java/org/apache/iceberg/ManifestListWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.Iterator; import java.util.Map; @@ -27,6 +26,7 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; abstract class ManifestListWriter implements FileAppender { private final FileAppender writer; diff --git a/core/src/main/java/org/apache/iceberg/ManifestLists.java b/core/src/main/java/org/apache/iceberg/ManifestLists.java index 37c631766aa9..bf61716777ba 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestLists.java +++ b/core/src/main/java/org/apache/iceberg/ManifestLists.java @@ -19,8 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import org.apache.iceberg.avro.Avro; @@ -28,6 +26,8 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class ManifestLists { private ManifestLists() { diff --git a/core/src/main/java/org/apache/iceberg/ManifestWriter.java b/core/src/main/java/org/apache/iceberg/ManifestWriter.java index ddd74c8a3e1d..ce245715f62b 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestWriter.java +++ b/core/src/main/java/org/apache/iceberg/ManifestWriter.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.io.IOException; import org.apache.iceberg.avro.Avro; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; /** * Writer for manifest files. diff --git a/core/src/main/java/org/apache/iceberg/ManifestsTable.java b/core/src/main/java/org/apache/iceberg/ManifestsTable.java index 25f0a5869ab7..7d955560e24b 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestsTable.java +++ b/core/src/main/java/org/apache/iceberg/ManifestsTable.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/MergeAppend.java b/core/src/main/java/org/apache/iceberg/MergeAppend.java index 0183a22e1c4e..aa156fbcf1bb 100644 --- a/core/src/main/java/org/apache/iceberg/MergeAppend.java +++ b/core/src/main/java/org/apache/iceberg/MergeAppend.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; /** * Append implementation that produces a minimal number of manifest files. diff --git a/core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java b/core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java index f19305540e42..0ba09db6d857 100644 --- a/core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java +++ b/core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java @@ -19,13 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.lang.reflect.Array; import java.util.Arrays; @@ -45,6 +38,13 @@ import org.apache.iceberg.expressions.StrictMetricsEvaluator; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.BinPacking.ListPacker; import org.apache.iceberg.util.CharSequenceWrapper; import org.apache.iceberg.util.ManifestFileUtil; diff --git a/core/src/main/java/org/apache/iceberg/MetricsConfig.java b/core/src/main/java/org/apache/iceberg/MetricsConfig.java index d2af7c88707d..cf78cd6e2920 100644 --- a/core/src/main/java/org/apache/iceberg/MetricsConfig.java +++ b/core/src/main/java/org/apache/iceberg/MetricsConfig.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.io.Serializable; import java.util.Map; import org.apache.iceberg.MetricsModes.MetricsMode; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/MetricsModes.java b/core/src/main/java/org/apache/iceberg/MetricsModes.java index c1fc4c7a9ea4..47d0b506876d 100644 --- a/core/src/main/java/org/apache/iceberg/MetricsModes.java +++ b/core/src/main/java/org/apache/iceberg/MetricsModes.java @@ -19,13 +19,13 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.io.ObjectStreamException; import java.io.Serializable; import java.util.Locale; import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; /** * This class defines different metrics modes, which allow users to control the collection of diff --git a/core/src/main/java/org/apache/iceberg/PartitionData.java b/core/src/main/java/org/apache/iceberg/PartitionData.java index d708347ac89f..2b8c0db22110 100644 --- a/core/src/main/java/org/apache/iceberg/PartitionData.java +++ b/core/src/main/java/org/apache/iceberg/PartitionData.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.hash.Hasher; -import com.google.common.hash.Hashing; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Arrays; @@ -33,6 +30,9 @@ import org.apache.avro.specific.SpecificData; import org.apache.avro.util.Utf8; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.hash.Hasher; +import org.apache.iceberg.relocated.com.google.common.hash.Hashing; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/PartitionSpecParser.java b/core/src/main/java/org/apache/iceberg/PartitionSpecParser.java index 6ae9dfd959c9..3060465db419 100644 --- a/core/src/main/java/org/apache/iceberg/PartitionSpecParser.java +++ b/core/src/main/java/org/apache/iceberg/PartitionSpecParser.java @@ -23,11 +23,11 @@ import com.fasterxml.jackson.databind.JsonNode; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import com.google.common.base.Preconditions; import java.io.IOException; import java.io.StringWriter; import java.util.Iterator; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.JsonUtil; import org.apache.iceberg.util.Pair; diff --git a/core/src/main/java/org/apache/iceberg/PartitionsTable.java b/core/src/main/java/org/apache/iceberg/PartitionsTable.java index 6897034f250c..331ce318f5fd 100644 --- a/core/src/main/java/org/apache/iceberg/PartitionsTable.java +++ b/core/src/main/java/org/apache/iceberg/PartitionsTable.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.StructLikeWrapper; diff --git a/core/src/main/java/org/apache/iceberg/PropertiesUpdate.java b/core/src/main/java/org/apache/iceberg/PropertiesUpdate.java index 4da60f158673..f41a0e044367 100644 --- a/core/src/main/java/org/apache/iceberg/PropertiesUpdate.java +++ b/core/src/main/java/org/apache/iceberg/PropertiesUpdate.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.util.Map; import java.util.Set; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Tasks; import static org.apache.iceberg.TableProperties.COMMIT_MAX_RETRY_WAIT_MS; diff --git a/core/src/main/java/org/apache/iceberg/RemoveSnapshots.java b/core/src/main/java/org/apache/iceberg/RemoveSnapshots.java index 0e6c0e142072..246458047209 100644 --- a/core/src/main/java/org/apache/iceberg/RemoveSnapshots.java +++ b/core/src/main/java/org/apache/iceberg/RemoveSnapshots.java @@ -19,10 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Date; import java.util.List; @@ -34,6 +30,10 @@ import org.apache.iceberg.exceptions.NotFoundException; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.PropertyUtil; import org.apache.iceberg.util.SnapshotUtil; import org.apache.iceberg.util.Tasks; diff --git a/core/src/main/java/org/apache/iceberg/ScanSummary.java b/core/src/main/java/org/apache/iceberg/ScanSummary.java index 54756bd7e729..126ada811429 100644 --- a/core/src/main/java/org/apache/iceberg/ScanSummary.java +++ b/core/src/main/java/org/apache/iceberg/ScanSummary.java @@ -19,13 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Comparator; import java.util.Date; @@ -43,6 +36,13 @@ import org.apache.iceberg.expressions.NamedReference; import org.apache.iceberg.expressions.UnboundPredicate; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.Pair; diff --git a/core/src/main/java/org/apache/iceberg/SchemaParser.java b/core/src/main/java/org/apache/iceberg/SchemaParser.java index 7ada2c818ab9..c2baaabe608e 100644 --- a/core/src/main/java/org/apache/iceberg/SchemaParser.java +++ b/core/src/main/java/org/apache/iceberg/SchemaParser.java @@ -23,13 +23,13 @@ import com.fasterxml.jackson.databind.JsonNode; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.io.IOException; import java.io.StringWriter; import java.util.Iterator; import java.util.List; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.JsonUtil; diff --git a/core/src/main/java/org/apache/iceberg/SchemaUpdate.java b/core/src/main/java/org/apache/iceberg/SchemaUpdate.java index 17001072bc0d..3bf4d13e94e4 100644 --- a/core/src/main/java/org/apache/iceberg/SchemaUpdate.java +++ b/core/src/main/java/org/apache/iceberg/SchemaUpdate.java @@ -19,12 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; import java.util.Collection; import java.util.LinkedList; import java.util.List; @@ -33,6 +27,12 @@ import org.apache.iceberg.mapping.MappingUtil; import org.apache.iceberg.mapping.NameMapping; import org.apache.iceberg.mapping.NameMappingParser; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Multimap; +import org.apache.iceberg.relocated.com.google.common.collect.Multimaps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/SerializableByteBufferMap.java b/core/src/main/java/org/apache/iceberg/SerializableByteBufferMap.java index 311185e30509..73732977717f 100644 --- a/core/src/main/java/org/apache/iceberg/SerializableByteBufferMap.java +++ b/core/src/main/java/org/apache/iceberg/SerializableByteBufferMap.java @@ -19,13 +19,13 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.io.ObjectStreamException; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Collection; import java.util.Map; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.util.ByteBuffers; class SerializableByteBufferMap implements Map, Serializable { diff --git a/core/src/main/java/org/apache/iceberg/SnapshotManager.java b/core/src/main/java/org/apache/iceberg/SnapshotManager.java index b7236e28eea2..367018f6e9fd 100644 --- a/core/src/main/java/org/apache/iceberg/SnapshotManager.java +++ b/core/src/main/java/org/apache/iceberg/SnapshotManager.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.util.List; import java.util.Map; import org.apache.iceberg.exceptions.CherrypickAncestorCommitException; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.util.SnapshotUtil; import org.apache.iceberg.util.WapUtil; diff --git a/core/src/main/java/org/apache/iceberg/SnapshotParser.java b/core/src/main/java/org/apache/iceberg/SnapshotParser.java index db81cded3b30..b5a4f7f87d36 100644 --- a/core/src/main/java/org/apache/iceberg/SnapshotParser.java +++ b/core/src/main/java/org/apache/iceberg/SnapshotParser.java @@ -21,9 +21,6 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.io.IOException; import java.io.StringWriter; import java.util.Iterator; @@ -31,6 +28,9 @@ import java.util.Map; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.util.JsonUtil; public class SnapshotParser { diff --git a/core/src/main/java/org/apache/iceberg/SnapshotProducer.java b/core/src/main/java/org/apache/iceberg/SnapshotProducer.java index 4acc5f6ea006..52ac8857d541 100644 --- a/core/src/main/java/org/apache/iceberg/SnapshotProducer.java +++ b/core/src/main/java/org/apache/iceberg/SnapshotProducer.java @@ -21,10 +21,6 @@ import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -38,6 +34,10 @@ import org.apache.iceberg.exceptions.CommitFailedException; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Exceptions; import org.apache.iceberg.util.Tasks; import org.apache.iceberg.util.ThreadPools; diff --git a/core/src/main/java/org/apache/iceberg/SnapshotSummary.java b/core/src/main/java/org/apache/iceberg/SnapshotSummary.java index d003d73b32a0..8101d5c0f3f5 100644 --- a/core/src/main/java/org/apache/iceberg/SnapshotSummary.java +++ b/core/src/main/java/org/apache/iceberg/SnapshotSummary.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.util.Map; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; public class SnapshotSummary { public static final String ADDED_FILES_PROP = "added-data-files"; diff --git a/core/src/main/java/org/apache/iceberg/StaticDataTask.java b/core/src/main/java/org/apache/iceberg/StaticDataTask.java index 9daecd2d91c4..8211d72b075e 100644 --- a/core/src/main/java/org/apache/iceberg/StaticDataTask.java +++ b/core/src/main/java/org/apache/iceberg/StaticDataTask.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.Serializable; import java.util.Arrays; import java.util.function.Function; @@ -29,6 +26,9 @@ import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class StaticDataTask implements DataTask { diff --git a/core/src/main/java/org/apache/iceberg/StaticTableScan.java b/core/src/main/java/org/apache/iceberg/StaticTableScan.java index ed63eaad7fbb..88c751cf3995 100644 --- a/core/src/main/java/org/apache/iceberg/StaticTableScan.java +++ b/core/src/main/java/org/apache/iceberg/StaticTableScan.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.util.Collection; import java.util.function.Function; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; class StaticTableScan extends BaseTableScan { private final Function buildTask; diff --git a/core/src/main/java/org/apache/iceberg/TableMetadata.java b/core/src/main/java/org/apache/iceberg/TableMetadata.java index 5325ba2d705f..4bb052b3e54a 100644 --- a/core/src/main/java/org/apache/iceberg/TableMetadata.java +++ b/core/src/main/java/org/apache/iceberg/TableMetadata.java @@ -19,15 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.util.List; import java.util.Map; import java.util.Set; @@ -36,6 +27,15 @@ import java.util.function.Predicate; import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.MoreObjects; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.util.PropertyUtil; diff --git a/core/src/main/java/org/apache/iceberg/TableMetadataParser.java b/core/src/main/java/org/apache/iceberg/TableMetadataParser.java index ed9d4791cf4d..3f89aa6d0d37 100644 --- a/core/src/main/java/org/apache/iceberg/TableMetadataParser.java +++ b/core/src/main/java/org/apache/iceberg/TableMetadataParser.java @@ -21,10 +21,6 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -45,6 +41,10 @@ import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.JsonUtil; public class TableMetadataParser { diff --git a/core/src/main/java/org/apache/iceberg/Transactions.java b/core/src/main/java/org/apache/iceberg/Transactions.java index c62cefdd3917..23d484dd4dc7 100644 --- a/core/src/main/java/org/apache/iceberg/Transactions.java +++ b/core/src/main/java/org/apache/iceberg/Transactions.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import org.apache.iceberg.BaseTransaction.TransactionType; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public final class Transactions { private Transactions() {} diff --git a/core/src/main/java/org/apache/iceberg/V2Metadata.java b/core/src/main/java/org/apache/iceberg/V2Metadata.java index 6ee9d3f20dbf..847dfdcfb2f0 100644 --- a/core/src/main/java/org/apache/iceberg/V2Metadata.java +++ b/core/src/main/java/org/apache/iceberg/V2Metadata.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; import java.util.List; import org.apache.avro.generic.IndexedRecord; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.Types; import static org.apache.iceberg.types.Types.NestedField.required; diff --git a/core/src/main/java/org/apache/iceberg/avro/Avro.java b/core/src/main/java/org/apache/iceberg/avro/Avro.java index 40c43cbe5148..689a1a8ca126 100644 --- a/core/src/main/java/org/apache/iceberg/avro/Avro.java +++ b/core/src/main/java/org/apache/iceberg/avro/Avro.java @@ -19,8 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Locale; import java.util.Map; @@ -40,6 +38,8 @@ import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; import org.apache.iceberg.mapping.NameMapping; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import static org.apache.iceberg.TableProperties.AVRO_COMPRESSION; import static org.apache.iceberg.TableProperties.AVRO_COMPRESSION_DEFAULT; diff --git a/core/src/main/java/org/apache/iceberg/avro/AvroCustomOrderSchemaVisitor.java b/core/src/main/java/org/apache/iceberg/avro/AvroCustomOrderSchemaVisitor.java index 3139673ed7a2..bdef9210176d 100644 --- a/core/src/main/java/org/apache/iceberg/avro/AvroCustomOrderSchemaVisitor.java +++ b/core/src/main/java/org/apache/iceberg/avro/AvroCustomOrderSchemaVisitor.java @@ -19,13 +19,13 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; import java.util.function.Supplier; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; abstract class AvroCustomOrderSchemaVisitor { public static T visit(Schema schema, AvroCustomOrderSchemaVisitor visitor) { diff --git a/core/src/main/java/org/apache/iceberg/avro/AvroIterable.java b/core/src/main/java/org/apache/iceberg/avro/AvroIterable.java index ef463bc9ab54..b69a9507360d 100644 --- a/core/src/main/java/org/apache/iceberg/avro/AvroIterable.java +++ b/core/src/main/java/org/apache/iceberg/avro/AvroIterable.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Iterator; import java.util.Map; @@ -33,6 +32,7 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.CloseableIterator; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; public class AvroIterable extends CloseableGroup implements CloseableIterable { private final InputFile file; diff --git a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaUtil.java b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaUtil.java index 6b3a72027e01..d06029915c7e 100644 --- a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaUtil.java +++ b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaUtil.java @@ -19,10 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.util.List; import java.util.Map; import java.util.Set; @@ -32,6 +28,10 @@ import org.apache.avro.Schema; import org.apache.iceberg.mapping.MappedField; import org.apache.iceberg.mapping.NameMapping; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaVisitor.java b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaVisitor.java index 2631983d42a5..281d45b51c2a 100644 --- a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaVisitor.java +++ b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaVisitor.java @@ -19,11 +19,11 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public abstract class AvroSchemaVisitor { public static T visit(Schema schema, AvroSchemaVisitor visitor) { diff --git a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.java b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.java index d6e078a6838b..e6f1c6eb5097 100644 --- a/core/src/main/java/org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.java +++ b/core/src/main/java/org/apache/iceberg/avro/AvroSchemaWithTypeVisitor.java @@ -19,11 +19,11 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/avro/BuildAvroProjection.java b/core/src/main/java/org/apache/iceberg/avro/BuildAvroProjection.java index 35b8981ca0fe..a1e0d05ce577 100644 --- a/core/src/main/java/org/apache/iceberg/avro/BuildAvroProjection.java +++ b/core/src/main/java/org/apache/iceberg/avro/BuildAvroProjection.java @@ -19,14 +19,14 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.List; import java.util.Map; import java.util.function.Supplier; import org.apache.avro.JsonProperties; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/avro/GenericAvroReader.java b/core/src/main/java/org/apache/iceberg/avro/GenericAvroReader.java index f9b51271c185..be8549746fa2 100644 --- a/core/src/main/java/org/apache/iceberg/avro/GenericAvroReader.java +++ b/core/src/main/java/org/apache/iceberg/avro/GenericAvroReader.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.MapMaker; import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -34,6 +33,7 @@ import org.apache.avro.io.ResolvingDecoder; import org.apache.iceberg.common.DynClasses; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.collect.MapMaker; class GenericAvroReader implements DatumReader { diff --git a/core/src/main/java/org/apache/iceberg/avro/GenericAvroWriter.java b/core/src/main/java/org/apache/iceberg/avro/GenericAvroWriter.java index 65166da35cdb..0498069a6bfb 100644 --- a/core/src/main/java/org/apache/iceberg/avro/GenericAvroWriter.java +++ b/core/src/main/java/org/apache/iceberg/avro/GenericAvroWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.List; import org.apache.avro.LogicalType; @@ -27,6 +26,7 @@ import org.apache.avro.Schema; import org.apache.avro.io.DatumWriter; import org.apache.avro.io.Encoder; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; class GenericAvroWriter implements DatumWriter { private ValueWriter writer = null; diff --git a/core/src/main/java/org/apache/iceberg/avro/LogicalMap.java b/core/src/main/java/org/apache/iceberg/avro/LogicalMap.java index 840cdcc53e24..04f7cd3015d6 100644 --- a/core/src/main/java/org/apache/iceberg/avro/LogicalMap.java +++ b/core/src/main/java/org/apache/iceberg/avro/LogicalMap.java @@ -19,9 +19,9 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; import org.apache.avro.LogicalType; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class LogicalMap extends LogicalType { static final String NAME = "map"; diff --git a/core/src/main/java/org/apache/iceberg/avro/PruneColumns.java b/core/src/main/java/org/apache/iceberg/avro/PruneColumns.java index eb13b4bd65a9..85a2684bff15 100644 --- a/core/src/main/java/org/apache/iceberg/avro/PruneColumns.java +++ b/core/src/main/java/org/apache/iceberg/avro/PruneColumns.java @@ -19,15 +19,15 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.avro.Schema; import org.apache.avro.SchemaNormalization; import org.apache.iceberg.mapping.NameMapping; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/avro/SchemaToType.java b/core/src/main/java/org/apache/iceberg/avro/SchemaToType.java index 2469f33e30e5..7e8681cf9e35 100644 --- a/core/src/main/java/org/apache/iceberg/avro/SchemaToType.java +++ b/core/src/main/java/org/apache/iceberg/avro/SchemaToType.java @@ -19,12 +19,12 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.List; import org.apache.avro.LogicalType; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/avro/TypeToSchema.java b/core/src/main/java/org/apache/iceberg/avro/TypeToSchema.java index f3586840854a..fc72f4bed314 100644 --- a/core/src/main/java/org/apache/iceberg/avro/TypeToSchema.java +++ b/core/src/main/java/org/apache/iceberg/avro/TypeToSchema.java @@ -19,14 +19,14 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.Deque; import java.util.List; import java.util.Map; import org.apache.avro.JsonProperties; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/avro/ValueReaders.java b/core/src/main/java/org/apache/iceberg/avro/ValueReaders.java index 7d63509ce41f..81c59493ed81 100644 --- a/core/src/main/java/org/apache/iceberg/avro/ValueReaders.java +++ b/core/src/main/java/org/apache/iceberg/avro/ValueReaders.java @@ -19,8 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; @@ -40,6 +38,8 @@ import org.apache.avro.io.ResolvingDecoder; import org.apache.avro.util.Utf8; import org.apache.iceberg.common.DynConstructors; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import static java.util.Collections.emptyIterator; diff --git a/core/src/main/java/org/apache/iceberg/avro/ValueWriters.java b/core/src/main/java/org/apache/iceberg/avro/ValueWriters.java index d41f73a17aa1..c3cf3687a947 100644 --- a/core/src/main/java/org/apache/iceberg/avro/ValueWriters.java +++ b/core/src/main/java/org/apache/iceberg/avro/ValueWriters.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.base.Preconditions; import java.io.IOException; import java.lang.reflect.Array; import java.math.BigDecimal; @@ -34,6 +33,7 @@ import org.apache.avro.generic.IndexedRecord; import org.apache.avro.io.Encoder; import org.apache.avro.util.Utf8; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.TypeUtil; public class ValueWriters { diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopCatalog.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopCatalog.java index 200e979682c5..b92d36dbc123 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopCatalog.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopCatalog.java @@ -19,11 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.Closeable; import java.io.IOException; import java.util.Arrays; @@ -50,6 +45,11 @@ import org.apache.iceberg.exceptions.NoSuchNamespaceException; import org.apache.iceberg.exceptions.NoSuchTableException; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; /** * HadoopCatalog provides a way to use table names like db.table to work with path-based tables under a common diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java index 84c5bf26467b..3f5d1d47e63a 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java @@ -19,7 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.base.Preconditions; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.hadoop.conf.Configuration; @@ -30,6 +29,7 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.SeekableInputStream; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; /** * {@link InputFile} implementation using the Hadoop {@link FileSystem} API. diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopStreams.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopStreams.java index aed4ee05b00a..0dc1d9fba8b7 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopStreams.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopStreams.java @@ -19,7 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.base.Joiner; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -31,6 +30,7 @@ import org.apache.iceberg.io.DelegatingOutputStream; import org.apache.iceberg.io.PositionOutputStream; import org.apache.iceberg.io.SeekableInputStream; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java index 431fc8991a2c..101fe64c52bd 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -42,6 +40,8 @@ import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.LocationProvider; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.util.Pair; import org.apache.iceberg.util.Tasks; import org.slf4j.Logger; diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java index 278586f8b684..79d0df516cd9 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; import java.util.Map; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.conf.Configuration; @@ -44,6 +42,8 @@ import org.apache.iceberg.Tables; import org.apache.iceberg.exceptions.AlreadyExistsException; import org.apache.iceberg.exceptions.NoSuchTableException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; /** * Implementation of Iceberg tables that uses the Hadoop FileSystem diff --git a/core/src/main/java/org/apache/iceberg/hadoop/Util.java b/core/src/main/java/org/apache/iceberg/hadoop/Util.java index d61fa4d8149e..e7633c8fb938 100644 --- a/core/src/main/java/org/apache/iceberg/hadoop/Util.java +++ b/core/src/main/java/org/apache/iceberg/hadoop/Util.java @@ -19,7 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Arrays; import java.util.Set; @@ -30,6 +29,7 @@ import org.apache.iceberg.CombinedScanTask; import org.apache.iceberg.FileScanTask; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/mapping/MappedField.java b/core/src/main/java/org/apache/iceberg/mapping/MappedField.java index 94d5d7bc5568..92f70f44ebe3 100644 --- a/core/src/main/java/org/apache/iceberg/mapping/MappedField.java +++ b/core/src/main/java/org/apache/iceberg/mapping/MappedField.java @@ -19,10 +19,10 @@ package org.apache.iceberg.mapping; -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; import java.util.Objects; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; /** * An immutable mapping between a field ID and a set of names. diff --git a/core/src/main/java/org/apache/iceberg/mapping/MappedFields.java b/core/src/main/java/org/apache/iceberg/mapping/MappedFields.java index fa3e1d4d7e6a..ee827c22a0ca 100644 --- a/core/src/main/java/org/apache/iceberg/mapping/MappedFields.java +++ b/core/src/main/java/org/apache/iceberg/mapping/MappedFields.java @@ -19,12 +19,12 @@ package org.apache.iceberg.mapping; -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; import java.util.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; public class MappedFields { diff --git a/core/src/main/java/org/apache/iceberg/mapping/MappingUtil.java b/core/src/main/java/org/apache/iceberg/mapping/MappingUtil.java index 6e5071c00a05..1cf1cbfc61a1 100644 --- a/core/src/main/java/org/apache/iceberg/mapping/MappingUtil.java +++ b/core/src/main/java/org/apache/iceberg/mapping/MappingUtil.java @@ -19,19 +19,19 @@ package org.apache.iceberg.mapping; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimap; -import com.google.common.collect.Sets; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Multimap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/main/java/org/apache/iceberg/mapping/NameMapping.java b/core/src/main/java/org/apache/iceberg/mapping/NameMapping.java index 4d8849eb23fd..5bde139e881d 100644 --- a/core/src/main/java/org/apache/iceberg/mapping/NameMapping.java +++ b/core/src/main/java/org/apache/iceberg/mapping/NameMapping.java @@ -19,10 +19,10 @@ package org.apache.iceberg.mapping; -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableList; import java.util.List; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; /** * Represents a mapping from external schema names to Iceberg type IDs. diff --git a/core/src/main/java/org/apache/iceberg/mapping/NameMappingParser.java b/core/src/main/java/org/apache/iceberg/mapping/NameMappingParser.java index 453165c3d4ff..5eaef84abb10 100644 --- a/core/src/main/java/org/apache/iceberg/mapping/NameMappingParser.java +++ b/core/src/main/java/org/apache/iceberg/mapping/NameMappingParser.java @@ -21,14 +21,14 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import java.io.IOException; import java.io.StringWriter; import java.util.List; import java.util.Set; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.util.JsonUtil; /** diff --git a/core/src/main/java/org/apache/iceberg/util/BinPacking.java b/core/src/main/java/org/apache/iceberg/util/BinPacking.java index 27d22f26f684..59f2a9fc09d5 100644 --- a/core/src/main/java/org/apache/iceberg/util/BinPacking.java +++ b/core/src/main/java/org/apache/iceberg/util/BinPacking.java @@ -19,10 +19,6 @@ package org.apache.iceberg.util; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -31,6 +27,10 @@ import java.util.List; import java.util.NoSuchElementException; import java.util.function.Function; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public class BinPacking { public static class ListPacker { diff --git a/core/src/main/java/org/apache/iceberg/util/JsonUtil.java b/core/src/main/java/org/apache/iceberg/util/JsonUtil.java index e70351fcb99d..0d842607fdb2 100644 --- a/core/src/main/java/org/apache/iceberg/util/JsonUtil.java +++ b/core/src/main/java/org/apache/iceberg/util/JsonUtil.java @@ -22,12 +22,12 @@ import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; public class JsonUtil { diff --git a/core/src/main/java/org/apache/iceberg/util/ManifestFileUtil.java b/core/src/main/java/org/apache/iceberg/util/ManifestFileUtil.java index e0771db7737d..a26d86eb4f11 100644 --- a/core/src/main/java/org/apache/iceberg/util/ManifestFileUtil.java +++ b/core/src/main/java/org/apache/iceberg/util/ManifestFileUtil.java @@ -19,13 +19,13 @@ package org.apache.iceberg.util; -import com.google.common.collect.Lists; import java.util.Comparator; import java.util.List; import java.util.function.Function; import org.apache.iceberg.ManifestFile; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.StructLike; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Type; diff --git a/core/src/main/java/org/apache/iceberg/util/Pair.java b/core/src/main/java/org/apache/iceberg/util/Pair.java index 76a4317a0c51..46d5010d8a75 100644 --- a/core/src/main/java/org/apache/iceberg/util/Pair.java +++ b/core/src/main/java/org/apache/iceberg/util/Pair.java @@ -22,13 +22,13 @@ import com.github.benmanes.caffeine.cache.CacheLoader; import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; -import com.google.common.base.Objects; -import com.google.common.collect.Lists; import java.io.Serializable; import org.apache.avro.Schema; import org.apache.avro.generic.IndexedRecord; import org.apache.avro.reflect.ReflectData; import org.apache.avro.specific.SpecificData; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public class Pair implements IndexedRecord, SpecificData.SchemaConstructable, Serializable { public static Pair of(X first, Y second) { diff --git a/core/src/main/java/org/apache/iceberg/util/ParallelIterable.java b/core/src/main/java/org/apache/iceberg/util/ParallelIterable.java index f9b01b60d7ed..3e46c02b11c5 100644 --- a/core/src/main/java/org/apache/iceberg/util/ParallelIterable.java +++ b/core/src/main/java/org/apache/iceberg/util/ParallelIterable.java @@ -19,8 +19,6 @@ package org.apache.iceberg.util; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; import java.io.Closeable; import java.io.IOException; import java.util.Iterator; @@ -32,6 +30,8 @@ import org.apache.iceberg.io.CloseableGroup; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.CloseableIterator; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class ParallelIterable extends CloseableGroup implements CloseableIterable { private final Iterable> iterables; diff --git a/core/src/main/java/org/apache/iceberg/util/SnapshotUtil.java b/core/src/main/java/org/apache/iceberg/util/SnapshotUtil.java index a6c73f617e45..540e08add583 100644 --- a/core/src/main/java/org/apache/iceberg/util/SnapshotUtil.java +++ b/core/src/main/java/org/apache/iceberg/util/SnapshotUtil.java @@ -19,11 +19,11 @@ package org.apache.iceberg.util; -import com.google.common.collect.Lists; import java.util.List; import java.util.function.Function; import org.apache.iceberg.Snapshot; import org.apache.iceberg.Table; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; public class SnapshotUtil { private SnapshotUtil() { diff --git a/core/src/main/java/org/apache/iceberg/util/Tasks.java b/core/src/main/java/org/apache/iceberg/util/Tasks.java index 239044a49e7a..430813294bf2 100644 --- a/core/src/main/java/org/apache/iceberg/util/Tasks.java +++ b/core/src/main/java/org/apache/iceberg/util/Tasks.java @@ -19,7 +19,6 @@ package org.apache.iceberg.util; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -36,6 +35,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Predicate; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/org/apache/iceberg/util/ThreadPools.java b/core/src/main/java/org/apache/iceberg/util/ThreadPools.java index ee19f253f2fd..87611145403e 100644 --- a/core/src/main/java/org/apache/iceberg/util/ThreadPools.java +++ b/core/src/main/java/org/apache/iceberg/util/ThreadPools.java @@ -19,12 +19,12 @@ package org.apache.iceberg.util; -import com.google.common.util.concurrent.MoreExecutors; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; import org.apache.iceberg.SystemProperties; +import org.apache.iceberg.relocated.com.google.common.util.concurrent.MoreExecutors; +import org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder; public class ThreadPools { diff --git a/core/src/test/java/org/apache/iceberg/LocalTableOperations.java b/core/src/test/java/org/apache/iceberg/LocalTableOperations.java index 2986e505ac84..f12c09942808 100644 --- a/core/src/test/java/org/apache/iceberg/LocalTableOperations.java +++ b/core/src/test/java/org/apache/iceberg/LocalTableOperations.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.LocationProvider; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.junit.rules.TemporaryFolder; class LocalTableOperations implements TableOperations { diff --git a/core/src/test/java/org/apache/iceberg/TableMetadataParserTest.java b/core/src/test/java/org/apache/iceberg/TableMetadataParserTest.java index f353989f11e2..eb9a9cc394fb 100644 --- a/core/src/test/java/org/apache/iceberg/TableMetadataParserTest.java +++ b/core/src/test/java/org/apache/iceberg/TableMetadataParserTest.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Maps; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -32,6 +31,7 @@ import org.apache.iceberg.TableMetadataParser.Codec; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types.BooleanType; import org.junit.After; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TableTestBase.java b/core/src/test/java/org/apache/iceberg/TableTestBase.java index 7e4b8957125a..e2c73782bf12 100644 --- a/core/src/test/java/org/apache/iceberg/TableTestBase.java +++ b/core/src/test/java/org/apache/iceberg/TableTestBase.java @@ -19,18 +19,19 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterators; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import com.google.common.io.Files; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.stream.LongStream; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterators; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; +import org.apache.iceberg.relocated.com.google.common.io.Files; import org.apache.iceberg.types.Types; import org.junit.After; import org.junit.Assert; @@ -87,9 +88,15 @@ public class TableTestBase { public TestTables.TestTable table = null; protected final int formatVersion; + @SuppressWarnings("checkstyle:MemberName") + protected final Assertions V1Assert; + @SuppressWarnings("checkstyle:MemberName") + protected final Assertions V2Assert; public TableTestBase(int formatVersion) { this.formatVersion = formatVersion; + this.V1Assert = new Assertions(1, formatVersion); + this.V2Assert = new Assertions(2, formatVersion); } @Before @@ -209,6 +216,14 @@ ManifestEntry manifestEntry(ManifestEntry.Status status, Long snapshotId, DataFi } void validateSnapshot(Snapshot old, Snapshot snap, DataFile... newFiles) { + validateSnapshot(old, snap, null, newFiles); + } + + void validateSnapshot(Snapshot old, Snapshot snap, long sequenceNumber, DataFile... newFiles) { + validateSnapshot(old, snap, (Long) sequenceNumber, newFiles); + } + + void validateSnapshot(Snapshot old, Snapshot snap, Long sequenceNumber, DataFile... newFiles) { List oldManifests = old != null ? old.manifests() : ImmutableList.of(); // copy the manifests to a modifiable list and remove the existing manifests @@ -227,6 +242,10 @@ void validateSnapshot(Snapshot old, Snapshot snap, DataFile... newFiles) { for (ManifestEntry entry : ManifestFiles.read(manifest, FILE_IO).entries()) { DataFile file = entry.file(); + if (sequenceNumber != null) { + V1Assert.assertEquals("Sequence number should default to 0", 0, entry.sequenceNumber().longValue()); + V2Assert.assertEquals("Sequence number should match expected", sequenceNumber, entry.sequenceNumber()); + } Assert.assertEquals("Path should match expected", newPaths.next(), file.path().toString()); Assert.assertEquals("File's snapshot ID should match", id, (long) entry.snapshotId()); } @@ -254,12 +273,23 @@ List paths(DataFile... dataFiles) { return paths; } - static void validateManifest(ManifestFile manifest, - Iterator ids, - Iterator expectedFiles) { + void validateManifest(ManifestFile manifest, + Iterator ids, + Iterator expectedFiles) { + validateManifest(manifest, null, ids, expectedFiles); + } + + void validateManifest(ManifestFile manifest, + Iterator seqs, + Iterator ids, + Iterator expectedFiles) { for (ManifestEntry entry : ManifestFiles.read(manifest, FILE_IO).entries()) { DataFile file = entry.file(); DataFile expected = expectedFiles.next(); + if (seqs != null) { + V1Assert.assertEquals("Sequence number should default to 0", 0, entry.sequenceNumber().longValue()); + V2Assert.assertEquals("Sequence number should match expected", seqs.next(), entry.sequenceNumber()); + } Assert.assertEquals("Path should match expected", expected.path().toString(), file.path().toString()); Assert.assertEquals("Snapshot ID should match expected ID", @@ -292,6 +322,10 @@ static Iterator statuses(ManifestEntry.Status... statuses) return Iterators.forArray(statuses); } + static Iterator seqs(long... seqs) { + return LongStream.of(seqs).iterator(); + } + static Iterator ids(Long... ids) { return Iterators.forArray(ids); } @@ -303,4 +337,33 @@ static Iterator files(DataFile... files) { static Iterator files(ManifestFile manifest) { return ManifestFiles.read(manifest, FILE_IO).iterator(); } + + /** + * Used for assertions that only apply if the table version is v2. + */ + protected static class Assertions { + private final boolean enabled; + + private Assertions(int validForVersion, int formatVersion) { + this.enabled = validForVersion == formatVersion; + } + + void assertEquals(String context, int expected, int actual) { + if (enabled) { + Assert.assertEquals(context, expected, actual); + } + } + + void assertEquals(String context, long expected, long actual) { + if (enabled) { + Assert.assertEquals(context, expected, actual); + } + } + + void assertEquals(String context, Object expected, Object actual) { + if (enabled) { + Assert.assertEquals(context, expected, actual); + } + } + } } diff --git a/core/src/test/java/org/apache/iceberg/TestCreateTransaction.java b/core/src/test/java/org/apache/iceberg/TestCreateTransaction.java index 342e91306b17..e9be1c8a398c 100644 --- a/core/src/test/java/org/apache/iceberg/TestCreateTransaction.java +++ b/core/src/test/java/org/apache/iceberg/TestCreateTransaction.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestEntriesMetadataTable.java b/core/src/test/java/org/apache/iceberg/TestEntriesMetadataTable.java index 2255b6e3fb31..81362b97521d 100644 --- a/core/src/test/java/org/apache/iceberg/TestEntriesMetadataTable.java +++ b/core/src/test/java/org/apache/iceberg/TestEntriesMetadataTable.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/org/apache/iceberg/TestFastAppend.java b/core/src/test/java/org/apache/iceberg/TestFastAppend.java index 4f071e1570e7..1cc478d11ffe 100644 --- a/core/src/test/java/org/apache/iceberg/TestFastAppend.java +++ b/core/src/test/java/org/apache/iceberg/TestFastAppend.java @@ -19,14 +19,14 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Set; import org.apache.iceberg.ManifestEntry.Status; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,13 +52,21 @@ public void testEmptyTableAppend() { TableMetadata base = readMetadata(); Assert.assertNull("Should not have a current snapshot", base.currentSnapshot()); + Assert.assertEquals("Table should start with last-sequence-number 0", 0, base.lastSequenceNumber()); - Snapshot pending = table.newFastAppend() + table.newFastAppend() .appendFile(FILE_A) .appendFile(FILE_B) - .apply(); + .commit(); + + Snapshot snap = table.currentSnapshot(); + + validateSnapshot(base.currentSnapshot(), snap, 1, FILE_A, FILE_B); - validateSnapshot(base.currentSnapshot(), pending, FILE_A, FILE_B); + V2Assert.assertEquals("Snapshot sequence number should be 1", 1, snap.sequenceNumber()); + V2Assert.assertEquals("Last sequence number should be 1", 1, readMetadata().lastSequenceNumber()); + + V1Assert.assertEquals("Table should end with last-sequence-number 0", 0, base.lastSequenceNumber()); } @Test @@ -67,17 +75,25 @@ public void testEmptyTableAppendManifest() throws IOException { TableMetadata base = readMetadata(); Assert.assertNull("Should not have a current snapshot", base.currentSnapshot()); + Assert.assertEquals("Table should start with last-sequence-number 0", 0, base.lastSequenceNumber()); ManifestFile manifest = writeManifest(FILE_A, FILE_B); - Snapshot pending = table.newFastAppend() + table.newFastAppend() .appendManifest(manifest) - .apply(); + .commit(); - validateSnapshot(base.currentSnapshot(), pending, FILE_A, FILE_B); + Snapshot snap = table.currentSnapshot(); + + validateSnapshot(base.currentSnapshot(), snap, 1, FILE_A, FILE_B); // validate that the metadata summary is correct when using appendManifest Assert.assertEquals("Summary metadata should include 2 added files", - "2", pending.summary().get("added-data-files")); + "2", snap.summary().get("added-data-files")); + + V2Assert.assertEquals("Snapshot sequence number should be 1", 1, snap.sequenceNumber()); + V2Assert.assertEquals("Last sequence number should be 1", 1, readMetadata().lastSequenceNumber()); + + V1Assert.assertEquals("Table should end with last-sequence-number 0", 0, base.lastSequenceNumber()); } @Test @@ -86,22 +102,32 @@ public void testEmptyTableAppendFilesAndManifest() throws IOException { TableMetadata base = readMetadata(); Assert.assertNull("Should not have a current snapshot", base.currentSnapshot()); + Assert.assertEquals("Table should start with last-sequence-number 0", 0, base.lastSequenceNumber()); ManifestFile manifest = writeManifest(FILE_A, FILE_B); - Snapshot pending = table.newFastAppend() + table.newFastAppend() .appendFile(FILE_C) .appendFile(FILE_D) .appendManifest(manifest) - .apply(); + .commit(); + + Snapshot snap = table.currentSnapshot(); - long pendingId = pending.snapshotId(); + long commitId = snap.snapshotId(); - validateManifest(pending.manifests().get(0), - ids(pendingId, pendingId), + validateManifest(snap.manifests().get(0), + seqs(1, 1), + ids(commitId, commitId), files(FILE_C, FILE_D)); - validateManifest(pending.manifests().get(1), - ids(pendingId, pendingId), + validateManifest(snap.manifests().get(1), + seqs(1, 1), + ids(commitId, commitId), files(FILE_A, FILE_B)); + + V2Assert.assertEquals("Snapshot sequence number should be 1", 1, snap.sequenceNumber()); + V2Assert.assertEquals("Last sequence number should be 1", 1, readMetadata().lastSequenceNumber()); + + V1Assert.assertEquals("Table should end with last-sequence-number 0", 0, base.lastSequenceNumber()); } @Test diff --git a/core/src/test/java/org/apache/iceberg/TestFilterFiles.java b/core/src/test/java/org/apache/iceberg/TestFilterFiles.java index d023048de549..2eea70033b18 100644 --- a/core/src/test/java/org/apache/iceberg/TestFilterFiles.java +++ b/core/src/test/java/org/apache/iceberg/TestFilterFiles.java @@ -19,14 +19,14 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.util.HashMap; import java.util.Map; import org.apache.iceberg.expressions.Expressions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Types; import org.junit.After; diff --git a/core/src/test/java/org/apache/iceberg/TestFindFiles.java b/core/src/test/java/org/apache/iceberg/TestFindFiles.java index 68121d3f6bee..11d01ff770f5 100644 --- a/core/src/test/java/org/apache/iceberg/TestFindFiles.java +++ b/core/src/test/java/org/apache/iceberg/TestFindFiles.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import java.util.Arrays; import java.util.Set; import org.apache.iceberg.expressions.Expressions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestFixedSizeSplitScanTaskIterator.java b/core/src/test/java/org/apache/iceberg/TestFixedSizeSplitScanTaskIterator.java index bac47e04fbc9..2aabafc38b0e 100644 --- a/core/src/test/java/org/apache/iceberg/TestFixedSizeSplitScanTaskIterator.java +++ b/core/src/test/java/org/apache/iceberg/TestFixedSizeSplitScanTaskIterator.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestIncrementalDataTableScan.java b/core/src/test/java/org/apache/iceberg/TestIncrementalDataTableScan.java index 485d4c2fea71..bcbb894ae10d 100644 --- a/core/src/test/java/org/apache/iceberg/TestIncrementalDataTableScan.java +++ b/core/src/test/java/org/apache/iceberg/TestIncrementalDataTableScan.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.Collections; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestManifestListVersions.java b/core/src/test/java/org/apache/iceberg/TestManifestListVersions.java index 65ec4b24b293..87231f09dbc6 100644 --- a/core/src/test/java/org/apache/iceberg/TestManifestListVersions.java +++ b/core/src/test/java/org/apache/iceberg/TestManifestListVersions.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.Collection; @@ -34,6 +31,9 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestManifestReader.java b/core/src/test/java/org/apache/iceberg/TestManifestReader.java index 883d341e6b85..b670fd40f3b9 100644 --- a/core/src/test/java/org/apache/iceberg/TestManifestReader.java +++ b/core/src/test/java/org/apache/iceberg/TestManifestReader.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; import java.io.IOException; import java.util.List; import org.apache.iceberg.ManifestEntry.Status; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestManifestWriterVersions.java b/core/src/test/java/org/apache/iceberg/TestManifestWriterVersions.java index 423cd51074dd..61777971778e 100644 --- a/core/src/test/java/org/apache/iceberg/TestManifestWriterVersions.java +++ b/core/src/test/java/org/apache/iceberg/TestManifestWriterVersions.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import org.apache.iceberg.io.CloseableIterable; @@ -29,6 +26,9 @@ import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestMergeAppend.java b/core/src/test/java/org/apache/iceberg/TestMergeAppend.java index 88dc997e0049..47f0d90d6f6d 100644 --- a/core/src/test/java/org/apache/iceberg/TestMergeAppend.java +++ b/core/src/test/java/org/apache/iceberg/TestMergeAppend.java @@ -19,21 +19,21 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Set; import org.apache.iceberg.ManifestEntry.Status; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import static com.google.common.collect.Iterators.concat; +import static org.apache.iceberg.relocated.com.google.common.collect.Iterators.concat; @RunWith(Parameterized.class) public class TestMergeAppend extends TableTestBase { diff --git a/core/src/test/java/org/apache/iceberg/TestMetrics.java b/core/src/test/java/org/apache/iceberg/TestMetrics.java index 0017cec90dd2..190712b96cb7 100644 --- a/core/src/test/java/org/apache/iceberg/TestMetrics.java +++ b/core/src/test/java/org/apache/iceberg/TestMetrics.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.math.BigDecimal; @@ -37,6 +34,9 @@ import org.apache.avro.generic.GenericFixed; import org.apache.iceberg.avro.AvroSchemaUtil; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.BinaryType; diff --git a/core/src/test/java/org/apache/iceberg/TestMetricsModes.java b/core/src/test/java/org/apache/iceberg/TestMetricsModes.java index 698f5c3a193f..65a31d4b0f8c 100644 --- a/core/src/test/java/org/apache/iceberg/TestMetricsModes.java +++ b/core/src/test/java/org/apache/iceberg/TestMetricsModes.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.util.Map; import org.apache.iceberg.MetricsModes.Counts; import org.apache.iceberg.MetricsModes.Full; import org.apache.iceberg.MetricsModes.None; import org.apache.iceberg.MetricsModes.Truncate; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestOffsetsBasedSplitScanTaskIterator.java b/core/src/test/java/org/apache/iceberg/TestOffsetsBasedSplitScanTaskIterator.java index f5524c89c0b8..eb006af72d32 100644 --- a/core/src/test/java/org/apache/iceberg/TestOffsetsBasedSplitScanTaskIterator.java +++ b/core/src/test/java/org/apache/iceberg/TestOffsetsBasedSplitScanTaskIterator.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestOverwrite.java b/core/src/test/java/org/apache/iceberg/TestOverwrite.java index dca9875ff3ea..4c379e9908c7 100644 --- a/core/src/test/java/org/apache/iceberg/TestOverwrite.java +++ b/core/src/test/java/org/apache/iceberg/TestOverwrite.java @@ -19,13 +19,13 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.apache.iceberg.ManifestEntry.Status; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/core/src/test/java/org/apache/iceberg/TestOverwriteWithValidation.java b/core/src/test/java/org/apache/iceberg/TestOverwriteWithValidation.java index 9eea57c03d0b..881a6fc450b9 100644 --- a/core/src/test/java/org/apache/iceberg/TestOverwriteWithValidation.java +++ b/core/src/test/java/org/apache/iceberg/TestOverwriteWithValidation.java @@ -19,14 +19,14 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.expressions.Expression; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/core/src/test/java/org/apache/iceberg/TestPartitionSpecInfo.java b/core/src/test/java/org/apache/iceberg/TestPartitionSpecInfo.java index 2d70bbe90819..b0395f004323 100644 --- a/core/src/test/java/org/apache/iceberg/TestPartitionSpecInfo.java +++ b/core/src/test/java/org/apache/iceberg/TestPartitionSpecInfo.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.io.IOException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.junit.After; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestRemoveSnapshots.java b/core/src/test/java/org/apache/iceberg/TestRemoveSnapshots.java index ae3b45f9bd8e..da6e394a82c8 100644 --- a/core/src/test/java/org/apache/iceberg/TestRemoveSnapshots.java +++ b/core/src/test/java/org/apache/iceberg/TestRemoveSnapshots.java @@ -19,15 +19,15 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.iceberg.ManifestEntry.Status; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/org/apache/iceberg/TestReplaceTransaction.java b/core/src/test/java/org/apache/iceberg/TestReplaceTransaction.java index 9a35dfb1e030..c6c46ed4b31e 100644 --- a/core/src/test/java/org/apache/iceberg/TestReplaceTransaction.java +++ b/core/src/test/java/org/apache/iceberg/TestReplaceTransaction.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestRewriteManifests.java b/core/src/test/java/org/apache/iceberg/TestRewriteManifests.java index c664bf50c26c..f6d0134e8fd5 100644 --- a/core/src/test/java/org/apache/iceberg/TestRewriteManifests.java +++ b/core/src/test/java/org/apache/iceberg/TestRewriteManifests.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -30,6 +29,7 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.exceptions.ValidationException; import org.apache.iceberg.expressions.Expressions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/org/apache/iceberg/TestScanDataFileColumns.java b/core/src/test/java/org/apache/iceberg/TestScanDataFileColumns.java index 50f30214debf..2f3fcf355651 100644 --- a/core/src/test/java/org/apache/iceberg/TestScanDataFileColumns.java +++ b/core/src/test/java/org/apache/iceberg/TestScanDataFileColumns.java @@ -19,13 +19,13 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/core/src/test/java/org/apache/iceberg/TestScanSummary.java b/core/src/test/java/org/apache/iceberg/TestScanSummary.java index 77068f9e7a4b..dc0d45c82e9a 100644 --- a/core/src/test/java/org/apache/iceberg/TestScanSummary.java +++ b/core/src/test/java/org/apache/iceberg/TestScanSummary.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.util.Pair; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestScansAndSchemaEvolution.java b/core/src/test/java/org/apache/iceberg/TestScansAndSchemaEvolution.java index 274ee80df9a6..efac9fe6a827 100644 --- a/core/src/test/java/org/apache/iceberg/TestScansAndSchemaEvolution.java +++ b/core/src/test/java/org/apache/iceberg/TestScansAndSchemaEvolution.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -29,6 +28,7 @@ import org.apache.iceberg.avro.RandomAvroData; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.After; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestSchemaAndMappingUpdate.java b/core/src/test/java/org/apache/iceberg/TestSchemaAndMappingUpdate.java index 07e5a26e0d1c..44c697edee8a 100644 --- a/core/src/test/java/org/apache/iceberg/TestSchemaAndMappingUpdate.java +++ b/core/src/test/java/org/apache/iceberg/TestSchemaAndMappingUpdate.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import java.util.Objects; import java.util.Set; import org.apache.iceberg.mapping.MappedField; @@ -29,6 +26,9 @@ import org.apache.iceberg.mapping.MappingUtil; import org.apache.iceberg.mapping.NameMapping; import org.apache.iceberg.mapping.NameMappingParser; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java index ad3afdfc23d7..4e48e1d87a3a 100644 --- a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java +++ b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.List; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/test/java/org/apache/iceberg/TestSnapshotJson.java b/core/src/test/java/org/apache/iceberg/TestSnapshotJson.java index 383a4826145c..be383e8e824e 100644 --- a/core/src/test/java/org/apache/iceberg/TestSnapshotJson.java +++ b/core/src/test/java/org/apache/iceberg/TestSnapshotJson.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.io.IOException; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/TestSnapshotSelection.java b/core/src/test/java/org/apache/iceberg/TestSnapshotSelection.java index 17d54c2808c2..2d96c65f6935 100644 --- a/core/src/test/java/org/apache/iceberg/TestSnapshotSelection.java +++ b/core/src/test/java/org/apache/iceberg/TestSnapshotSelection.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; import java.nio.ByteBuffer; import java.nio.ByteOrder; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/org/apache/iceberg/TestSplitPlanning.java b/core/src/test/java/org/apache/iceberg/TestSplitPlanning.java index e827def67daa..e140de66374b 100644 --- a/core/src/test/java/org/apache/iceberg/TestSplitPlanning.java +++ b/core/src/test/java/org/apache/iceberg/TestSplitPlanning.java @@ -19,8 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -28,6 +26,8 @@ import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/core/src/test/java/org/apache/iceberg/TestTableMetadata.java b/core/src/test/java/org/apache/iceberg/TestTableMetadata.java index 1d5d3d3b4638..fc030f13ccc0 100644 --- a/core/src/test/java/org/apache/iceberg/TestTableMetadata.java +++ b/core/src/test/java/org/apache/iceberg/TestTableMetadata.java @@ -21,10 +21,6 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.io.StringWriter; import java.util.Arrays; @@ -39,6 +35,10 @@ import org.apache.iceberg.TableMetadata.SnapshotLogEntry; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.JsonUtil; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/TestTables.java b/core/src/test/java/org/apache/iceberg/TestTables.java index 6d1a47783a31..8961820d7675 100644 --- a/core/src/test/java/org/apache/iceberg/TestTables.java +++ b/core/src/test/java/org/apache/iceberg/TestTables.java @@ -19,9 +19,6 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import java.io.File; import java.util.Map; import org.apache.iceberg.exceptions.AlreadyExistsException; @@ -31,6 +28,9 @@ import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.LocationProvider; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import static org.apache.iceberg.TableMetadata.newTableMetadata; diff --git a/core/src/test/java/org/apache/iceberg/TestTransaction.java b/core/src/test/java/org/apache/iceberg/TestTransaction.java index d855e16e2e45..bceaa73ad4d8 100644 --- a/core/src/test/java/org/apache/iceberg/TestTransaction.java +++ b/core/src/test/java/org/apache/iceberg/TestTransaction.java @@ -19,8 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.List; @@ -29,6 +27,8 @@ import org.apache.iceberg.ManifestEntry.Status; import org.apache.iceberg.exceptions.CommitFailedException; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java b/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java index e4aceaf714c5..b26a5fe92354 100644 --- a/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java +++ b/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Streams; import org.apache.iceberg.exceptions.CherrypickAncestorCommitException; import org.apache.iceberg.exceptions.DuplicateWAPCommitException; import org.apache.iceberg.exceptions.ValidationException; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Streams; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/avro/RandomAvroData.java b/core/src/test/java/org/apache/iceberg/avro/RandomAvroData.java index 2e037308002b..d36731d9d41b 100644 --- a/core/src/test/java/org/apache/iceberg/avro/RandomAvroData.java +++ b/core/src/test/java/org/apache/iceberg/avro/RandomAvroData.java @@ -19,9 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -35,6 +32,9 @@ import org.apache.avro.generic.GenericData.Record; import org.apache.avro.util.Utf8; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/core/src/test/java/org/apache/iceberg/avro/RemoveIds.java b/core/src/test/java/org/apache/iceberg/avro/RemoveIds.java index b26b1c2e8d91..4e91012ca835 100644 --- a/core/src/test/java/org/apache/iceberg/avro/RemoveIds.java +++ b/core/src/test/java/org/apache/iceberg/avro/RemoveIds.java @@ -19,10 +19,10 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Lists; import java.util.List; import java.util.Map; import org.apache.avro.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; class RemoveIds extends AvroSchemaVisitor { @Override diff --git a/core/src/test/java/org/apache/iceberg/avro/TestAvroEnums.java b/core/src/test/java/org/apache/iceberg/avro/TestAvroEnums.java index 6be09cc5a2a4..5afd2a6e5de1 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestAvroEnums.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestAvroEnums.java @@ -19,8 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -31,6 +29,8 @@ import org.apache.avro.generic.GenericDatumWriter; import org.apache.iceberg.Files; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/avro/TestAvroNameMapping.java b/core/src/test/java/org/apache/iceberg/avro/TestAvroNameMapping.java index b8e1d419e423..02025a74f6da 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestAvroNameMapping.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestAvroNameMapping.java @@ -19,10 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -38,6 +34,10 @@ import org.apache.iceberg.mapping.MappedFields; import org.apache.iceberg.mapping.MappingUtil; import org.apache.iceberg.mapping.NameMapping; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/avro/TestAvroReadProjection.java b/core/src/test/java/org/apache/iceberg/avro/TestAvroReadProjection.java index 9742c1e8f5b4..c367e53cb548 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestAvroReadProjection.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestAvroReadProjection.java @@ -19,13 +19,13 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import org.apache.avro.generic.GenericData; import org.apache.iceberg.Files; import org.apache.iceberg.Schema; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class TestAvroReadProjection extends TestReadProjection { @Override diff --git a/core/src/test/java/org/apache/iceberg/avro/TestGenericAvro.java b/core/src/test/java/org/apache/iceberg/avro/TestGenericAvro.java index 8b89fda4d566..6849657ddf33 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestGenericAvro.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestGenericAvro.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -27,6 +26,7 @@ import org.apache.iceberg.Files; import org.apache.iceberg.Schema; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; public class TestGenericAvro extends AvroDataTest { diff --git a/core/src/test/java/org/apache/iceberg/avro/TestReadProjection.java b/core/src/test/java/org/apache/iceberg/avro/TestReadProjection.java index b0d18d0ce910..9243a809ff1e 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestReadProjection.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestReadProjection.java @@ -19,15 +19,15 @@ package org.apache.iceberg.avro; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Map; import org.apache.avro.generic.GenericData.Record; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/avro/TestSchemaConversions.java b/core/src/test/java/org/apache/iceberg/avro/TestSchemaConversions.java index 88320dbff45d..be8c7caf3319 100644 --- a/core/src/test/java/org/apache/iceberg/avro/TestSchemaConversions.java +++ b/core/src/test/java/org/apache/iceberg/avro/TestSchemaConversions.java @@ -19,12 +19,12 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.List; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; import org.apache.avro.SchemaBuilder; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/core/src/test/java/org/apache/iceberg/hadoop/HadoopTableTestBase.java b/core/src/test/java/org/apache/iceberg/hadoop/HadoopTableTestBase.java index a3b450724e6c..d5c18ddabe18 100644 --- a/core/src/test/java/org/apache/iceberg/hadoop/HadoopTableTestBase.java +++ b/core/src/test/java/org/apache/iceberg/hadoop/HadoopTableTestBase.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.collect.Lists; -import com.google.common.io.Files; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -37,6 +35,8 @@ import org.apache.iceberg.TableMetadata; import org.apache.iceberg.TableMetadataParser; import org.apache.iceberg.TestTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.io.Files; import org.apache.iceberg.types.Types; import org.junit.Before; import org.junit.Rule; diff --git a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCatalog.java b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCatalog.java index 1cafc25eeae6..37742b0ab464 100644 --- a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCatalog.java +++ b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCatalog.java @@ -19,9 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Set; @@ -36,6 +33,9 @@ import org.apache.iceberg.catalog.TableIdentifier; import org.apache.iceberg.exceptions.NoSuchNamespaceException; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.junit.Assert; import org.junit.Test; @@ -311,4 +311,3 @@ public void testDropNamespace() throws IOException { Assert.assertFalse(fs.isDirectory(new Path(metaLocation))); } } - diff --git a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCommits.java b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCommits.java index c1c8e2e5e820..67287246e04b 100644 --- a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCommits.java +++ b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopCommits.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hadoop; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.List; @@ -37,6 +35,8 @@ import org.apache.iceberg.TableOperations; import org.apache.iceberg.UpdateSchema; import org.apache.iceberg.exceptions.CommitFailedException; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/mapping/TestMappingUpdates.java b/core/src/test/java/org/apache/iceberg/mapping/TestMappingUpdates.java index ae30bc67f64d..8f5ce56dc328 100644 --- a/core/src/test/java/org/apache/iceberg/mapping/TestMappingUpdates.java +++ b/core/src/test/java/org/apache/iceberg/mapping/TestMappingUpdates.java @@ -19,9 +19,9 @@ package org.apache.iceberg.mapping; -import com.google.common.collect.ImmutableList; import org.apache.iceberg.TableProperties; import org.apache.iceberg.TableTestBase; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/core/src/test/java/org/apache/iceberg/util/TestBinPacking.java b/core/src/test/java/org/apache/iceberg/util/TestBinPacking.java index 8e50f4e76644..fd8267ff0c3a 100644 --- a/core/src/test/java/org/apache/iceberg/util/TestBinPacking.java +++ b/core/src/test/java/org/apache/iceberg/util/TestBinPacking.java @@ -19,8 +19,8 @@ package org.apache.iceberg.util; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.util.BinPacking.ListPacker; import org.junit.Assert; import org.junit.Test; diff --git a/data/src/main/java/org/apache/iceberg/data/GenericRecord.java b/data/src/main/java/org/apache/iceberg/data/GenericRecord.java index e52e0b74259a..46507b88b391 100644 --- a/data/src/main/java/org/apache/iceberg/data/GenericRecord.java +++ b/data/src/main/java/org/apache/iceberg/data/GenericRecord.java @@ -21,14 +21,14 @@ import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; -import com.google.common.base.Objects; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; import java.util.Arrays; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; import org.apache.iceberg.StructLike; +import org.apache.iceberg.relocated.com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.StructType; diff --git a/data/src/main/java/org/apache/iceberg/data/IcebergGenerics.java b/data/src/main/java/org/apache/iceberg/data/IcebergGenerics.java index 311a80a49860..79ae144b92ab 100644 --- a/data/src/main/java/org/apache/iceberg/data/IcebergGenerics.java +++ b/data/src/main/java/org/apache/iceberg/data/IcebergGenerics.java @@ -19,10 +19,10 @@ package org.apache.iceberg.data; -import com.google.common.collect.ImmutableList; import org.apache.iceberg.Table; import org.apache.iceberg.TableScan; import org.apache.iceberg.expressions.Expression; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; public class IcebergGenerics { private IcebergGenerics() { diff --git a/data/src/main/java/org/apache/iceberg/data/TableScanIterable.java b/data/src/main/java/org/apache/iceberg/data/TableScanIterable.java index eec0ddeab341..11705a6987e4 100644 --- a/data/src/main/java/org/apache/iceberg/data/TableScanIterable.java +++ b/data/src/main/java/org/apache/iceberg/data/TableScanIterable.java @@ -19,9 +19,6 @@ package org.apache.iceberg.data; -import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.Closeable; import java.io.IOException; import java.util.Collections; @@ -48,6 +45,9 @@ import org.apache.iceberg.io.InputFile; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.PartitionUtil; diff --git a/data/src/main/java/org/apache/iceberg/data/avro/DataReader.java b/data/src/main/java/org/apache/iceberg/data/avro/DataReader.java index 1d226c3ecbad..8c7d0f3e72a6 100644 --- a/data/src/main/java/org/apache/iceberg/data/avro/DataReader.java +++ b/data/src/main/java/org/apache/iceberg/data/avro/DataReader.java @@ -19,8 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.MapMaker; import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -37,6 +35,8 @@ import org.apache.iceberg.avro.ValueReader; import org.apache.iceberg.avro.ValueReaders; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.MapMaker; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/data/src/main/java/org/apache/iceberg/data/avro/DataWriter.java b/data/src/main/java/org/apache/iceberg/data/avro/DataWriter.java index 322588b9aaab..fc47dd02723b 100644 --- a/data/src/main/java/org/apache/iceberg/data/avro/DataWriter.java +++ b/data/src/main/java/org/apache/iceberg/data/avro/DataWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.List; import org.apache.avro.LogicalType; @@ -32,6 +31,7 @@ import org.apache.iceberg.avro.LogicalMap; import org.apache.iceberg.avro.ValueWriter; import org.apache.iceberg.avro.ValueWriters; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; public class DataWriter implements DatumWriter { private ValueWriter writer = null; diff --git a/data/src/main/java/org/apache/iceberg/data/avro/IcebergDecoder.java b/data/src/main/java/org/apache/iceberg/data/avro/IcebergDecoder.java index 42b433f53185..aa4827b0f6a7 100644 --- a/data/src/main/java/org/apache/iceberg/data/avro/IcebergDecoder.java +++ b/data/src/main/java/org/apache/iceberg/data/avro/IcebergDecoder.java @@ -19,8 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.MapMaker; import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; @@ -38,6 +36,8 @@ import org.apache.avro.message.SchemaStore; import org.apache.iceberg.avro.AvroSchemaUtil; import org.apache.iceberg.avro.ProjectionDatumReader; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.MapMaker; public class IcebergDecoder extends MessageDecoder.BaseDecoder { private static final ThreadLocal HEADER_BUFFER = diff --git a/data/src/main/java/org/apache/iceberg/data/avro/IcebergEncoder.java b/data/src/main/java/org/apache/iceberg/data/avro/IcebergEncoder.java index ce9ca86b7d8b..9b1fe2d3ed1a 100644 --- a/data/src/main/java/org/apache/iceberg/data/avro/IcebergEncoder.java +++ b/data/src/main/java/org/apache/iceberg/data/avro/IcebergEncoder.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.primitives.Bytes; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -33,6 +32,7 @@ import org.apache.avro.message.MessageEncoder; import org.apache.iceberg.Schema; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.primitives.Bytes; public class IcebergEncoder implements MessageEncoder { diff --git a/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcReader.java b/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcReader.java index 2db582295b8c..4f5c248a22ce 100644 --- a/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcReader.java +++ b/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcReader.java @@ -19,9 +19,6 @@ package org.apache.iceberg.data.orc; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -40,6 +37,9 @@ import org.apache.iceberg.data.Record; import org.apache.iceberg.orc.ORCSchemaUtil; import org.apache.iceberg.orc.OrcValueReader; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.apache.orc.TypeDescription; import org.apache.orc.storage.ql.exec.vector.BytesColumnVector; diff --git a/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcWriter.java b/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcWriter.java index d2b19f76663d..1bf466df5cb3 100644 --- a/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcWriter.java +++ b/data/src/main/java/org/apache/iceberg/data/orc/GenericOrcWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.orc; -import com.google.common.collect.Lists; import java.io.IOException; import java.math.BigDecimal; import java.nio.ByteBuffer; @@ -37,6 +36,7 @@ import org.apache.iceberg.data.Record; import org.apache.iceberg.orc.ORCSchemaUtil; import org.apache.iceberg.orc.OrcValueWriter; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.orc.TypeDescription; import org.apache.orc.storage.common.type.HiveDecimal; import org.apache.orc.storage.ql.exec.vector.BytesColumnVector; diff --git a/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java b/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java index acb35ed29ca6..07419d57df8d 100644 --- a/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java +++ b/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java @@ -19,10 +19,6 @@ package org.apache.iceberg.data.parquet; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; @@ -50,6 +46,10 @@ import org.apache.iceberg.parquet.ParquetValueReaders.StructReader; import org.apache.iceberg.parquet.ParquetValueReaders.UnboxedReader; import org.apache.iceberg.parquet.TypeWithSchemaVisitor; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.StructType; @@ -245,6 +245,8 @@ public ParquetValueReader primitive(org.apache.iceberg.types.Type.PrimitiveTy } case TIME_MICROS: return new TimeReader(desc); + case TIME_MILLIS: + return new TimeMillisReader(desc); case DECIMAL: DecimalMetadata decimal = primitive.getDecimalMetadata(); switch (primitive.getPrimitiveTypeName()) { @@ -356,6 +358,17 @@ public OffsetDateTime read(OffsetDateTime reuse) { } } + private static class TimeMillisReader extends PrimitiveReader { + private TimeMillisReader(ColumnDescriptor desc) { + super(desc); + } + + @Override + public LocalTime read(LocalTime reuse) { + return LocalTime.ofNanoOfDay(column.nextLong() * 1000000L); + } + } + private static class TimeReader extends PrimitiveReader { private TimeReader(ColumnDescriptor desc) { super(desc); diff --git a/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java b/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java index 87854a7738cb..0c998eaa4e70 100644 --- a/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java +++ b/data/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.parquet; -import com.google.common.collect.Lists; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; @@ -35,6 +34,7 @@ import org.apache.iceberg.parquet.ParquetValueWriters; import org.apache.iceberg.parquet.ParquetValueWriters.PrimitiveWriter; import org.apache.iceberg.parquet.ParquetValueWriters.StructWriter; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.Preconditions; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.io.api.Binary; diff --git a/data/src/test/java/org/apache/iceberg/TestSplitScan.java b/data/src/test/java/org/apache/iceberg/TestSplitScan.java index 3683dabe1400..b0d870a3e65a 100644 --- a/data/src/test/java/org/apache/iceberg/TestSplitScan.java +++ b/data/src/test/java/org/apache/iceberg/TestSplitScan.java @@ -19,7 +19,6 @@ package org.apache.iceberg; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -34,6 +33,7 @@ import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/data/src/test/java/org/apache/iceberg/data/RandomGenericData.java b/data/src/test/java/org/apache/iceberg/data/RandomGenericData.java index d6e2f8f1219c..0fa80a9aca99 100644 --- a/data/src/test/java/org/apache/iceberg/data/RandomGenericData.java +++ b/data/src/test/java/org/apache/iceberg/data/RandomGenericData.java @@ -19,9 +19,6 @@ package org.apache.iceberg.data; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -38,6 +35,9 @@ import java.util.UUID; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java b/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java index 673673097728..d50ecdba1982 100644 --- a/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java +++ b/data/src/test/java/org/apache/iceberg/data/TestLocalScan.java @@ -19,11 +19,6 @@ package org.apache.iceberg.data; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; @@ -54,6 +49,11 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Before; diff --git a/data/src/test/java/org/apache/iceberg/data/TestReadProjection.java b/data/src/test/java/org/apache/iceberg/data/TestReadProjection.java index ada32703837a..08dc733c2e1c 100644 --- a/data/src/test/java/org/apache/iceberg/data/TestReadProjection.java +++ b/data/src/test/java/org/apache/iceberg/data/TestReadProjection.java @@ -19,14 +19,14 @@ package org.apache.iceberg.data; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/data/src/test/java/org/apache/iceberg/data/avro/TestGenericData.java b/data/src/test/java/org/apache/iceberg/data/avro/TestGenericData.java index c703ff7f81e2..287e54c203ee 100644 --- a/data/src/test/java/org/apache/iceberg/data/avro/TestGenericData.java +++ b/data/src/test/java/org/apache/iceberg/data/avro/TestGenericData.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -32,6 +31,7 @@ import org.apache.iceberg.data.RandomGenericData; import org.apache.iceberg.data.Record; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; public class TestGenericData extends DataTest { diff --git a/data/src/test/java/org/apache/iceberg/data/avro/TestGenericReadProjection.java b/data/src/test/java/org/apache/iceberg/data/avro/TestGenericReadProjection.java index cfddb2b3bb55..3450348b402e 100644 --- a/data/src/test/java/org/apache/iceberg/data/avro/TestGenericReadProjection.java +++ b/data/src/test/java/org/apache/iceberg/data/avro/TestGenericReadProjection.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import org.apache.iceberg.Files; @@ -28,6 +27,7 @@ import org.apache.iceberg.data.Record; import org.apache.iceberg.data.TestReadProjection; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class TestGenericReadProjection extends TestReadProjection { @Override diff --git a/data/src/test/java/org/apache/iceberg/data/avro/TestSingleMessageEncoding.java b/data/src/test/java/org/apache/iceberg/data/avro/TestSingleMessageEncoding.java index 37931818751e..15c44761981e 100644 --- a/data/src/test/java/org/apache/iceberg/data/avro/TestSingleMessageEncoding.java +++ b/data/src/test/java/org/apache/iceberg/data/avro/TestSingleMessageEncoding.java @@ -19,10 +19,6 @@ package org.apache.iceberg.data.avro; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Ordering; -import com.google.common.collect.Sets; import java.nio.ByteBuffer; import java.util.Arrays; import java.util.List; @@ -37,6 +33,10 @@ import org.apache.iceberg.avro.AvroSchemaUtil; import org.apache.iceberg.data.GenericRecord; import org.apache.iceberg.data.Record; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Ordering; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/data/src/test/java/org/apache/iceberg/data/orc/TestGenericData.java b/data/src/test/java/org/apache/iceberg/data/orc/TestGenericData.java index 058379b906fe..826686ef7e96 100644 --- a/data/src/test/java/org/apache/iceberg/data/orc/TestGenericData.java +++ b/data/src/test/java/org/apache/iceberg/data/orc/TestGenericData.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.orc; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.time.LocalDateTime; @@ -37,6 +36,7 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.junit.Assert; import org.junit.Test; diff --git a/data/src/test/java/org/apache/iceberg/data/orc/TestGenericReadProjection.java b/data/src/test/java/org/apache/iceberg/data/orc/TestGenericReadProjection.java index ccb134692527..1aab27dbedb4 100644 --- a/data/src/test/java/org/apache/iceberg/data/orc/TestGenericReadProjection.java +++ b/data/src/test/java/org/apache/iceberg/data/orc/TestGenericReadProjection.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.orc; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import org.apache.iceberg.Files; @@ -28,6 +27,7 @@ import org.apache.iceberg.data.TestReadProjection; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class TestGenericReadProjection extends TestReadProjection { diff --git a/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericData.java b/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericData.java index 05c7f9a19e52..58f62988b6f7 100644 --- a/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericData.java +++ b/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericData.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.parquet; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -32,6 +31,7 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.junit.Assert; public class TestGenericData extends DataTest { diff --git a/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericReadProjection.java b/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericReadProjection.java index 905073fbde64..9a0810dc16e3 100644 --- a/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericReadProjection.java +++ b/data/src/test/java/org/apache/iceberg/data/parquet/TestGenericReadProjection.java @@ -19,7 +19,6 @@ package org.apache.iceberg.data.parquet; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import org.apache.iceberg.Files; @@ -28,6 +27,7 @@ import org.apache.iceberg.data.TestReadProjection; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class TestGenericReadProjection extends TestReadProjection { @Override diff --git a/deploy.gradle b/deploy.gradle index 29e5a1f21231..82d91c26f865 100644 --- a/deploy.gradle +++ b/deploy.gradle @@ -57,7 +57,11 @@ subprojects { publishing { publications { apache(MavenPublication) { - from components.java + if (tasks.matching({task -> task.name == 'shadowJar'}).isEmpty()) { + from components.java + } else { + project.shadow.component(it) + } artifact sourceJar artifact javadocJar diff --git a/hive/src/main/java/org/apache/iceberg/hive/ClientPool.java b/hive/src/main/java/org/apache/iceberg/hive/ClientPool.java index c66df743f9ce..b8bfbfe2c904 100644 --- a/hive/src/main/java/org/apache/iceberg/hive/ClientPool.java +++ b/hive/src/main/java/org/apache/iceberg/hive/ClientPool.java @@ -19,10 +19,10 @@ package org.apache.iceberg.hive; -import com.google.common.base.Preconditions; import java.io.Closeable; import java.util.ArrayDeque; import java.util.Deque; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/hive/src/main/java/org/apache/iceberg/hive/HiveCatalog.java b/hive/src/main/java/org/apache/iceberg/hive/HiveCatalog.java index 4973b063f747..aab9710b1f7e 100644 --- a/hive/src/main/java/org/apache/iceberg/hive/HiveCatalog.java +++ b/hive/src/main/java/org/apache/iceberg/hive/HiveCatalog.java @@ -19,10 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; import java.io.Closeable; import java.util.Arrays; import java.util.List; @@ -47,6 +43,10 @@ import org.apache.iceberg.exceptions.NamespaceNotEmptyException; import org.apache.iceberg.exceptions.NoSuchNamespaceException; import org.apache.iceberg.exceptions.NoSuchTableException; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.thrift.TException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java b/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java index e6d33b9a1d91..1e7ff5e80981 100644 --- a/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java +++ b/hive/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Collections; @@ -56,6 +54,8 @@ import org.apache.iceberg.exceptions.NoSuchTableException; import org.apache.iceberg.hadoop.HadoopFileIO; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.thrift.TException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/hive/src/test/java/org/apache/iceberg/hive/HiveCreateReplaceTableTest.java b/hive/src/test/java/org/apache/iceberg/hive/HiveCreateReplaceTableTest.java index c8406a3bd774..bb3fb828b735 100644 --- a/hive/src/test/java/org/apache/iceberg/hive/HiveCreateReplaceTableTest.java +++ b/hive/src/test/java/org/apache/iceberg/hive/HiveCreateReplaceTableTest.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.collect.Iterables; -import com.google.common.collect.Maps; import java.io.IOException; import org.apache.iceberg.AppendFiles; import org.apache.iceberg.AssertHelpers; @@ -34,6 +32,8 @@ import org.apache.iceberg.catalog.TableIdentifier; import org.apache.iceberg.exceptions.AlreadyExistsException; import org.apache.iceberg.exceptions.NoSuchTableException; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.junit.After; import org.junit.Assert; diff --git a/hive/src/test/java/org/apache/iceberg/hive/HiveTableTest.java b/hive/src/test/java/org/apache/iceberg/hive/HiveTableTest.java index 3138ea9a3ea6..3adc5619b750 100644 --- a/hive/src/test/java/org/apache/iceberg/hive/HiveTableTest.java +++ b/hive/src/test/java/org/apache/iceberg/hive/HiveTableTest.java @@ -19,7 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -39,6 +38,7 @@ import org.apache.iceberg.catalog.TableIdentifier; import org.apache.iceberg.exceptions.CommitFailedException; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.thrift.TException; import org.junit.Assert; diff --git a/hive/src/test/java/org/apache/iceberg/hive/TestHiveCatalog.java b/hive/src/test/java/org/apache/iceberg/hive/TestHiveCatalog.java index 744295c1a1df..7a04094a5293 100644 --- a/hive/src/test/java/org/apache/iceberg/hive/TestHiveCatalog.java +++ b/hive/src/test/java/org/apache/iceberg/hive/TestHiveCatalog.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; import java.util.List; import java.util.Map; import java.util.UUID; @@ -32,6 +30,8 @@ import org.apache.iceberg.exceptions.AlreadyExistsException; import org.apache.iceberg.exceptions.NamespaceNotEmptyException; import org.apache.iceberg.exceptions.NoSuchNamespaceException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; import org.apache.iceberg.types.Types; import org.apache.thrift.TException; import org.junit.Assert; diff --git a/hive/src/test/java/org/apache/iceberg/hive/TestHiveTableConcurrency.java b/hive/src/test/java/org/apache/iceberg/hive/TestHiveTableConcurrency.java index 7d81a01e029b..88a70f8ae36d 100644 --- a/hive/src/test/java/org/apache/iceberg/hive/TestHiveTableConcurrency.java +++ b/hive/src/test/java/org/apache/iceberg/hive/TestHiveTableConcurrency.java @@ -19,8 +19,6 @@ package org.apache.iceberg.hive; -import com.google.common.collect.Iterables; -import com.google.common.util.concurrent.MoreExecutors; import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -31,6 +29,8 @@ import org.apache.iceberg.DataFiles; import org.apache.iceberg.FileFormat; import org.apache.iceberg.Table; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.util.concurrent.MoreExecutors; import org.apache.iceberg.util.Tasks; import org.junit.Assert; import org.junit.Test; diff --git a/mr/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergInputFormat.java b/mr/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergInputFormat.java index 58752d3b8b39..19d860d344a2 100644 --- a/mr/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergInputFormat.java +++ b/mr/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergInputFormat.java @@ -19,10 +19,6 @@ package org.apache.iceberg.mr.mapreduce; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -72,6 +68,10 @@ import org.apache.iceberg.mr.SerializationUtil; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; import org.slf4j.Logger; diff --git a/mr/src/test/java/org/apache/iceberg/mr/mapreduce/TestIcebergInputFormat.java b/mr/src/test/java/org/apache/iceberg/mr/mapreduce/TestIcebergInputFormat.java index 36be8200deed..a5dbbef0ac4e 100644 --- a/mr/src/test/java/org/apache/iceberg/mr/mapreduce/TestIcebergInputFormat.java +++ b/mr/src/test/java/org/apache/iceberg/mr/mapreduce/TestIcebergInputFormat.java @@ -19,11 +19,6 @@ package org.apache.iceberg.mr.mapreduce; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -65,6 +60,11 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.FluentIterable; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/orc/src/main/java/org/apache/iceberg/orc/ORC.java b/orc/src/main/java/org/apache/iceberg/orc/ORC.java index 7236a3c7a9cf..9bb422989359 100644 --- a/orc/src/main/java/org/apache/iceberg/orc/ORC.java +++ b/orc/src/main/java/org/apache/iceberg/orc/ORC.java @@ -19,7 +19,6 @@ package org.apache.iceberg.orc; -import com.google.common.base.Preconditions; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.HashMap; @@ -35,6 +34,7 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.orc.OrcConf; import org.apache.orc.OrcFile; import org.apache.orc.OrcFile.ReaderOptions; diff --git a/orc/src/main/java/org/apache/iceberg/orc/ORCSchemaUtil.java b/orc/src/main/java/org/apache/iceberg/orc/ORCSchemaUtil.java index 3af6f587783b..f9b1adbd4a40 100644 --- a/orc/src/main/java/org/apache/iceberg/orc/ORCSchemaUtil.java +++ b/orc/src/main/java/org/apache/iceberg/orc/ORCSchemaUtil.java @@ -19,10 +19,6 @@ package org.apache.iceberg.orc; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -31,6 +27,10 @@ import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/orc/src/main/java/org/apache/iceberg/orc/OrcFileAppender.java b/orc/src/main/java/org/apache/iceberg/orc/OrcFileAppender.java index 78c8acf23512..4e961bb0d972 100644 --- a/orc/src/main/java/org/apache/iceberg/orc/OrcFileAppender.java +++ b/orc/src/main/java/org/apache/iceberg/orc/OrcFileAppender.java @@ -19,8 +19,6 @@ package org.apache.iceberg.orc; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.io.IOException; import java.nio.ByteBuffer; import java.util.Collections; @@ -35,6 +33,8 @@ import org.apache.iceberg.hadoop.HadoopOutputFile; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.orc.OrcFile; import org.apache.orc.Reader; import org.apache.orc.StripeInformation; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java b/parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java index fd1ccf51dce4..cf79418ed866 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java @@ -19,8 +19,8 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; import java.io.IOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.parquet.bytes.ByteBufferInputStream; import org.apache.parquet.bytes.BytesInput; import org.apache.parquet.bytes.BytesUtils; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java b/parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java index 993dfc77ef2b..43c2cd2b70d2 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java @@ -19,13 +19,13 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.List; import java.util.Map; import java.util.Optional; +import org.apache.iceberg.relocated.com.google.common.base.Joiner; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.types.Types.TimestampType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java b/parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java index 0c1297b38aed..e34db05e47d0 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java @@ -19,8 +19,8 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; import java.io.IOException; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.parquet.CorruptDeltaByteArrays; import org.apache.parquet.bytes.ByteBufferInputStream; import org.apache.parquet.column.ColumnDescriptor; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java b/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java index 689ddb1f8405..df23785e9bfc 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java @@ -19,9 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Collection; import java.util.Locale; @@ -41,6 +38,9 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.parquet.HadoopReadOptions; import org.apache.parquet.ParquetReadOptions; import org.apache.parquet.avro.AvroReadSupport; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java index a417c485ba67..669269a2a99f 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java @@ -19,8 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -34,6 +32,8 @@ import org.apache.avro.specific.SpecificData; import org.apache.iceberg.avro.AvroSchemaVisitor; import org.apache.iceberg.avro.UUIDConversion; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.TypeUtil; class ParquetAvro { diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java index 6a2727456609..cb25f2caa6fb 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java @@ -19,9 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -43,6 +40,9 @@ import org.apache.iceberg.parquet.ParquetValueReaders.MapReader; import org.apache.iceberg.parquet.ParquetValueReaders.StructReader; import org.apache.iceberg.parquet.ParquetValueReaders.UnboxedReader; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.Types; import org.apache.parquet.column.ColumnDescriptor; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java index c5cd97774565..5cf23630f3cf 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java @@ -19,12 +19,12 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.Lists; import java.util.List; import org.apache.avro.generic.GenericData.Fixed; import org.apache.avro.generic.IndexedRecord; import org.apache.iceberg.parquet.ParquetValueWriters.PrimitiveWriter; import org.apache.iceberg.parquet.ParquetValueWriters.StructWriter; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.io.api.Binary; import org.apache.parquet.schema.DecimalMetadata; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java index 6dc1f6de47a3..351fb69512d3 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java @@ -19,9 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Comparator; import java.util.Map; @@ -36,6 +33,9 @@ import org.apache.iceberg.expressions.ExpressionVisitors.BoundExpressionVisitor; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.Literal; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Types.StructType; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.column.Dictionary; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java index 2d072222cfbc..3fdf905cb9a9 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.Maps; import java.nio.ByteBuffer; import java.util.Collection; import java.util.Comparator; @@ -35,6 +34,7 @@ import org.apache.iceberg.expressions.ExpressionVisitors.BoundExpressionVisitor; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.expressions.Literal; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types.StructType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java index 9588676cce20..bedc91a10b58 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java @@ -19,13 +19,13 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.util.Map; import java.util.Set; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.Schema; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.parquet.avro.AvroReadSupport; import org.apache.parquet.hadoop.api.InitContext; import org.apache.parquet.hadoop.api.ReadSupport; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java index 421020235653..86dcf6bd95e3 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java @@ -19,9 +19,9 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.Sets; import java.util.Set; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; import org.apache.parquet.schema.MessageType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java index c63d9c114d82..43d94b516e6c 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java @@ -19,10 +19,10 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.schema.GroupType; import org.apache.parquet.schema.MessageType; import org.apache.parquet.schema.OriginalType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java index 09726a523f19..f92230c6eb1f 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java @@ -19,8 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; @@ -38,6 +36,8 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Conversions; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java index aa7f5726f08e..55bf925e0581 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java @@ -19,9 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.lang.reflect.Array; import java.math.BigDecimal; import java.math.BigInteger; @@ -29,6 +26,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.column.page.PageReadStore; import org.apache.parquet.io.api.Binary; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java index 8de2e7201d15..e1f2894fcc8d 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java @@ -19,8 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; import java.lang.reflect.Array; import java.math.BigDecimal; import java.nio.ByteBuffer; @@ -29,6 +27,8 @@ import java.util.List; import java.util.Map; import org.apache.avro.util.Utf8; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; import org.apache.iceberg.types.TypeUtil; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.column.ColumnWriteStore; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java index 463fb9a80497..703a833f1b57 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java @@ -19,13 +19,13 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.List; import org.apache.iceberg.Metrics; import org.apache.iceberg.MetricsConfig; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.parquet.hadoop.ParquetWriter; import org.apache.parquet.hadoop.metadata.ParquetMetadata; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java index 633f9f80cecc..2990bd11356a 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java @@ -19,9 +19,9 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableMap; import java.util.Map; import org.apache.hadoop.conf.Configuration; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.parquet.hadoop.api.WriteSupport; import org.apache.parquet.io.api.RecordConsumer; import org.apache.parquet.schema.MessageType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java index 27487ac52c70..bcd4bcbd3069 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableMap; import java.io.Closeable; import java.io.IOException; import java.util.List; @@ -34,6 +33,7 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.parquet.bytes.ByteBufferAllocator; import org.apache.parquet.column.ColumnWriteStore; import org.apache.parquet.column.ParquetProperties; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java b/parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java index 43e06aef79cf..bd5db4016e92 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java @@ -19,10 +19,10 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.List; import java.util.Set; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.schema.GroupType; import org.apache.parquet.schema.MessageType; import org.apache.parquet.schema.PrimitiveType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java b/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java index 51a19d4a2b9c..e25730ba3871 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java @@ -19,8 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.List; import java.util.Map; @@ -32,6 +30,8 @@ import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.parquet.ParquetReadOptions; import org.apache.parquet.hadoop.ParquetFileReader; import org.apache.parquet.hadoop.metadata.BlockMetaData; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java b/parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java index a13705db9a22..6dd76d722074 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java @@ -19,10 +19,10 @@ package org.apache.iceberg.parquet; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.LinkedList; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.parquet.schema.GroupType; import org.apache.parquet.schema.MessageType; diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java b/parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java index 1bc859f6a4fa..53a4f1f401ff 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java @@ -115,4 +115,3 @@ private byte getByte() { } } } - diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java b/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java index 63a43baaa853..3eb3303d4eef 100644 --- a/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java +++ b/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java @@ -53,4 +53,3 @@ public interface VectorizedReader { */ void close(); } - diff --git a/parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java b/parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java index 113c3177b05f..d9ab284d264c 100644 --- a/parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java +++ b/parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java @@ -19,7 +19,6 @@ package org.apache.iceberg.avro; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import org.apache.avro.generic.GenericData; @@ -27,6 +26,7 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; public class TestParquetReadProjection extends TestReadProjection { @Override diff --git a/parquet/src/test/java/org/apache/iceberg/avro/TestReadProjection.java b/parquet/src/test/java/org/apache/iceberg/avro/TestReadProjection.java index b0d18d0ce910..9243a809ff1e 100644 --- a/parquet/src/test/java/org/apache/iceberg/avro/TestReadProjection.java +++ b/parquet/src/test/java/org/apache/iceberg/avro/TestReadProjection.java @@ -19,15 +19,15 @@ package org.apache.iceberg.avro; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Map; import org.apache.avro.generic.GenericData.Record; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java b/parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java index 4f37ebe5cd0b..edf551ed9e52 100644 --- a/parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java +++ b/parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java @@ -19,7 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.Collections; @@ -30,6 +29,7 @@ import org.apache.iceberg.FileFormat; import org.apache.iceberg.Schema; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.schema.MessageType; import org.junit.rules.TemporaryFolder; diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java b/parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java index f5433eaa160c..d9d5eb0af93c 100644 --- a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java +++ b/parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java @@ -19,7 +19,6 @@ package org.apache.iceberg.parquet; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -28,6 +27,7 @@ import org.apache.avro.generic.GenericData; import org.apache.iceberg.Schema; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types.IntegerType; import org.apache.parquet.hadoop.ParquetFileReader; import org.apache.parquet.schema.MessageType; diff --git a/pig/src/main/java/org/apache/iceberg/pig/IcebergPigInputFormat.java b/pig/src/main/java/org/apache/iceberg/pig/IcebergPigInputFormat.java index ef12cac53a83..ddefa1f7a648 100644 --- a/pig/src/main/java/org/apache/iceberg/pig/IcebergPigInputFormat.java +++ b/pig/src/main/java/org/apache/iceberg/pig/IcebergPigInputFormat.java @@ -19,8 +19,6 @@ package org.apache.iceberg.pig; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -48,6 +46,8 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.InputFile; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/pig/src/main/java/org/apache/iceberg/pig/IcebergStorage.java b/pig/src/main/java/org/apache/iceberg/pig/IcebergStorage.java index d27c5769d142..6a41f8fe0248 100644 --- a/pig/src/main/java/org/apache/iceberg/pig/IcebergStorage.java +++ b/pig/src/main/java/org/apache/iceberg/pig/IcebergStorage.java @@ -19,9 +19,6 @@ package org.apache.iceberg.pig; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.IOException; import java.io.Serializable; import java.util.Collections; @@ -41,6 +38,9 @@ import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.pig.IcebergPigInputFormat.IcebergRecordReader; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.apache.pig.Expression; import org.apache.pig.Expression.BetweenExpression; diff --git a/pig/src/main/java/org/apache/iceberg/pig/PigParquetReader.java b/pig/src/main/java/org/apache/iceberg/pig/PigParquetReader.java index fd9e9ac2dfe4..c90c8a910b16 100644 --- a/pig/src/main/java/org/apache/iceberg/pig/PigParquetReader.java +++ b/pig/src/main/java/org/apache/iceberg/pig/PigParquetReader.java @@ -19,9 +19,6 @@ package org.apache.iceberg.pig; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneOffset; @@ -46,6 +43,9 @@ import org.apache.iceberg.parquet.ParquetValueReaders.StructReader; import org.apache.iceberg.parquet.ParquetValueReaders.UnboxedReader; import org.apache.iceberg.parquet.TypeWithSchemaVisitor; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.Types; import org.apache.parquet.column.ColumnDescriptor; diff --git a/pig/src/main/java/org/apache/iceberg/pig/SchemaUtil.java b/pig/src/main/java/org/apache/iceberg/pig/SchemaUtil.java index 3e3abd360e86..7bdbf4edd960 100644 --- a/pig/src/main/java/org/apache/iceberg/pig/SchemaUtil.java +++ b/pig/src/main/java/org/apache/iceberg/pig/SchemaUtil.java @@ -19,10 +19,10 @@ package org.apache.iceberg.pig; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.pig.ResourceSchema; diff --git a/python/iceberg/api/partition_field.py b/python/iceberg/api/partition_field.py index adaca2894370..8e789a10897b 100644 --- a/python/iceberg/api/partition_field.py +++ b/python/iceberg/api/partition_field.py @@ -18,8 +18,9 @@ class PartitionField(object): - def __init__(self, source_id, name, transform): + def __init__(self, source_id, field_id, name, transform): self.source_id = source_id + self.field_id = field_id self.name = name self.transform = transform @@ -29,7 +30,8 @@ def __eq__(self, other): elif other is None or not isinstance(other, PartitionField): return False - return self.source_id == other.source_id and self.name == other.name and self.transform == other.transform + return self.source_id == other.source_id and self.field_id == other.field_id and \ + self.name == other.name and self.transform == other.transform def __ne__(self, other): return not self.__eq__(other) @@ -38,4 +40,4 @@ def __hash__(self): return hash(self.__key()) def __key(self): - return PartitionField.__class__, self.source_id, self.name, self.transform + return PartitionField.__class__, self.source_id, self.field_id, self.name, self.transform diff --git a/python/iceberg/api/partition_spec.py b/python/iceberg/api/partition_spec.py index 95cce0e6a679..1451fbfe617b 100644 --- a/python/iceberg/api/partition_spec.py +++ b/python/iceberg/api/partition_spec.py @@ -32,13 +32,13 @@ class PartitionSpec(object): @staticmethod def UNPARTITIONED_SPEC(): - return PartitionSpec(Schema(), 0, []) + return PartitionSpec(Schema(), 0, [], PartitionSpec.PARTITION_DATA_ID_START - 1) @staticmethod def unpartitioned(): return PartitionSpec.UNPARTITIONED_SPEC() - def __init__(self, schema, spec_id, fields): + def __init__(self, schema, spec_id, fields, last_assigned_field_id): self.fields_by_source_id = None self.fields_by_name = None self.__java_classes = None @@ -49,6 +49,7 @@ def __init__(self, schema, spec_id, fields): self.__fields = list() for field in fields: self.__fields.append(field) + self.last_assigned_field_id = last_assigned_field_id @property def fields(self): @@ -70,10 +71,10 @@ def get_field_by_source_id(self, field_id): def partition_type(self): struct_fields = list() - for i, field in enumerate(self.__fields): + for _i, field in enumerate(self.__fields): source_type = self.schema.find_type(field.source_id) result_type = field.transform.get_result_type(source_type) - struct_fields.append(NestedField.optional(PartitionSpec.PARTITION_DATA_ID_START + i, + struct_fields.append(NestedField.optional(field.field_id, field.name, result_type)) @@ -170,9 +171,10 @@ def __repr__(self): sb = ["["] for field in self.__fields: - sb.append("\n {name}: {transform}({source_id})".format(name=field.name, - transform=str(field.transform), - source_id=field.source_id)) + sb.append("\n {field_id}: {name}: {transform}({source_id})".format(field_id=field.field_id, + name=field.name, + transform=str(field.transform), + source_id=field.source_id)) if len(self.__fields) > 0: sb.append("\n") @@ -201,6 +203,11 @@ def __init__(self, schema): self.fields = list() self.partition_names = set() self.spec_id = 0 + self.last_assigned_field_id = PartitionSpec.PARTITION_DATA_ID_START - 1 + + def __next_field_id(self): + self.last_assigned_field_id = self.last_assigned_field_id + 1 + return self.last_assigned_field_id def with_spec_id(self, spec_id): self.spec_id = spec_id @@ -226,6 +233,7 @@ def identity(self, source_name): self.check_and_add_partition_name(source_name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), source_name, Transforms.identity(source_column.type))) return self @@ -235,8 +243,9 @@ def year(self, source_name): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, - Transforms.year(source_column.types))) + Transforms.year(source_column.type))) return self def month(self, source_name): @@ -244,8 +253,9 @@ def month(self, source_name): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, - Transforms.month(source_column.types))) + Transforms.month(source_column.type))) return self def day(self, source_name): @@ -253,8 +263,9 @@ def day(self, source_name): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, - Transforms.day(source_column.types))) + Transforms.day(source_column.type))) return self def hour(self, source_name): @@ -262,6 +273,7 @@ def hour(self, source_name): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, Transforms.hour(source_column.type))) return self @@ -271,6 +283,7 @@ def bucket(self, source_name, num_buckets): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, Transforms.bucket(source_column.type, num_buckets))) return self @@ -280,11 +293,15 @@ def truncate(self, source_name, width): self.check_and_add_partition_name(name) source_column = self.find_source_column(source_name) self.fields.append(PartitionField(source_column.field_id, + self.__next_field_id(), name, - Transforms.truncate(source_column.types, width))) + Transforms.truncate(source_column.type, width))) return self - def add(self, source_id, name, transform): + def add_without_field_id(self, source_id, name, transform): + return self.add(source_id, self.__next_field_id(), name, transform) + + def add(self, source_id, field_id, name, transform): self.check_and_add_partition_name(name) column = self.schema.find_field(source_id) if column is None: @@ -292,12 +309,14 @@ def add(self, source_id, name, transform): transform_obj = Transforms.from_string(column.type, transform) field = PartitionField(source_id, + field_id, name, transform_obj) self.fields.append(field) + self.last_assigned_field_id = max(self.last_assigned_field_id, field_id) return self def build(self): - spec = PartitionSpec(self.schema, self.spec_id, self.fields) + spec = PartitionSpec(self.schema, self.spec_id, self.fields, self.last_assigned_field_id) PartitionSpec.check_compatibility(spec, self.schema) return spec diff --git a/python/iceberg/api/transforms/bucket.py b/python/iceberg/api/transforms/bucket.py index c1672da4a4eb..64db7122089e 100644 --- a/python/iceberg/api/transforms/bucket.py +++ b/python/iceberg/api/transforms/bucket.py @@ -101,7 +101,7 @@ def hash(self, value): return Bucket.MURMUR3.hash(struct.pack("q", value)) def can_transform(self, type_var): - return type_var.type_id() in [TypeID.INTEGER, TypeID.DATE] + return type_var.type_id in [TypeID.INTEGER, TypeID.DATE] class BucketLong(Bucket): @@ -112,9 +112,9 @@ def hash(self, value): return Bucket.MURMUR3.hash(struct.pack("q", value)) def can_transform(self, type_var): - return type_var.type_id() in [TypeID.LONG, - TypeID.TIME, - TypeID.TIMESTAMP] + return type_var.type_id in [TypeID.LONG, + TypeID.TIME, + TypeID.TIMESTAMP] class BucketFloat(Bucket): @@ -125,7 +125,7 @@ def hash(self, value): return Bucket.MURMUR3.hash(struct.pack("d", value)) def can_transform(self, type_var): - return type_var.type_id() == TypeID.FLOAT + return type_var.type_id == TypeID.FLOAT class BucketDouble(Bucket): @@ -136,7 +136,7 @@ def hash(self, value): return Bucket.MURMUR3.hash(struct.pack("d", value)) def can_transform(self, type_var): - return type_var.type_id() == TypeID.DOUBLE + return type_var.type_id == TypeID.DOUBLE class BucketDecimal(Bucket): diff --git a/python/iceberg/api/transforms/dates.py b/python/iceberg/api/transforms/dates.py index 628281b20b81..474b986f696d 100644 --- a/python/iceberg/api/transforms/dates.py +++ b/python/iceberg/api/transforms/dates.py @@ -52,7 +52,7 @@ def apply(self, days): return apply_func(datetime.datetime.utcfromtimestamp(days * Dates.SECONDS_IN_DAY), Dates.EPOCH) def can_transform(self, type): - return type.type_id() == TypeID.DATE + return type.type_id == TypeID.DATE def get_result_type(self, source_type): return IntegerType.get() @@ -73,4 +73,4 @@ def to_human_string(self, value): return Dates.HUMAN_FUNCS[self.granularity](value) def __str__(self): - return "%s" % self + return self.name diff --git a/python/iceberg/api/transforms/timestamps.py b/python/iceberg/api/transforms/timestamps.py index 697cec67e594..25c4439bc179 100644 --- a/python/iceberg/api/transforms/timestamps.py +++ b/python/iceberg/api/transforms/timestamps.py @@ -50,7 +50,7 @@ def apply(self, value): return apply_func(datetime.datetime.utcfromtimestamp(value / 1000000), Timestamps.EPOCH) def can_transform(self, type_var): - return type_var == TypeID.TIMESTAMP + return type_var.type_id == TypeID.TIMESTAMP def get_result_type(self, source_type): return IntegerType.get() diff --git a/python/iceberg/api/transforms/transforms.py b/python/iceberg/api/transforms/transforms.py index c14d84930f6b..0cf243e0f912 100644 --- a/python/iceberg/api/transforms/transforms.py +++ b/python/iceberg/api/transforms/transforms.py @@ -42,22 +42,22 @@ def __init__(self): pass @staticmethod - def from_string(type, transform): + def from_string(type_var, transform): match = Transforms.HAS_WIDTH.match(transform) if match is not None: name = match.group(1) - w = match.group(2) + w = int(match.group(2)) if name.lower() == "truncate": - return Truncate.get(type, w) + return Truncate.get(type_var, w) elif name.lower() == "bucket": - return Bucket.get(type, w) + return Bucket.get(type_var, w) if transform.lower() == "identity": - return Identity.get(type) - elif type.type_id() == TypeID.TIMESTAMP: + return Identity.get(type_var) + elif type_var.type_id == TypeID.TIMESTAMP: return Timestamps(transform.lower(), transform.lower()) - elif type.type_id() == TypeID.DATE: + elif type_var.type_id == TypeID.DATE: return Dates(transform.lower(), transform.lower()) raise RuntimeError("Unknown transform: %s" % transform) @@ -108,4 +108,4 @@ def bucket(type_var, num_buckets): @staticmethod def truncate(type_var, width): - return Truncate.get(type, width) + return Truncate.get(type_var, width) diff --git a/python/iceberg/api/transforms/truncate.py b/python/iceberg/api/transforms/truncate.py index cd001ad44eac..b37e6f0b06dd 100644 --- a/python/iceberg/api/transforms/truncate.py +++ b/python/iceberg/api/transforms/truncate.py @@ -32,7 +32,7 @@ def get(type_var, width): if type_var.type_id == TypeID.INTEGER: return TruncateInteger(width) elif type_var.type_id == TypeID.LONG: - return TruncateInteger(width) + return TruncateLong(width) elif type_var.type_id == TypeID.DECIMAL: return TruncateDecimal(width) elif type_var.type_id == TypeID.STRING: diff --git a/python/iceberg/api/types/type_util.py b/python/iceberg/api/types/type_util.py index ca52a7db9c6f..68f0f595acf3 100644 --- a/python/iceberg/api/types/type_util.py +++ b/python/iceberg/api/types/type_util.py @@ -16,6 +16,7 @@ # under the License. import math +from typing import List from .type import (Type, TypeID) @@ -238,7 +239,6 @@ def get(self): return self.visitor.field(self.field, VisitFuture(self.field.type, self.visitor).get) -@staticmethod def decimal_required_bytes(precision): if precision < 0 or precision > 40: raise RuntimeError("Unsupported decimal precision: %s" % precision) @@ -451,11 +451,11 @@ def write_compatibility_errors(read_schema, write_schema): def read_compatibility_errors(read_schema, write_schema): visit(write_schema, CheckCompatibility(read_schema, False)) - NO_ERRORS = [] + NO_ERRORS: List[str] = [] def __init__(self, schema, check_ordering): self.schema = schema - self.check_ordering + self.check_ordering = check_ordering self.current_type = None def schema(self, schema, struct_result): @@ -498,10 +498,10 @@ def struct(self, struct, field_results): return errors - def field(self, field, field_result): + def field(self, field, field_result) -> List[str]: struct = self.current_type.as_struct_type() curr_field = struct.field(field.field_id) - errors = list() + errors = [] if curr_field is None: if not field.is_optional: diff --git a/python/iceberg/core/base_table_scan.py b/python/iceberg/core/base_table_scan.py index d205364aad15..e64038d3136a 100644 --- a/python/iceberg/core/base_table_scan.py +++ b/python/iceberg/core/base_table_scan.py @@ -34,9 +34,9 @@ class BaseTableScan(CloseableGroup, TableScan): DATE_FORMAT = "%Y-%m-%d %H:%M:%S.%f" - SNAPSHOT_COLUMNS = ["snapshot_id", "file_path", "file_ordinal", "file_format", "block_size_in_bytes", + SNAPSHOT_COLUMNS = ("snapshot_id", "file_path", "file_ordinal", "file_format", "block_size_in_bytes", "file_size_in_bytes", "record_count", "partition", "value_counts", "null_value_counts", - "lower_bounds", "upper_bounds"] + "lower_bounds", "upper_bounds") def new_refined_scan(self, ops, table, schema, snapshot_id, row_filter, case_sensitive, selected_columns, options, minused_cols): diff --git a/python/iceberg/core/manifest_reader.py b/python/iceberg/core/manifest_reader.py index 6a4581293a6f..e648684f29fe 100644 --- a/python/iceberg/core/manifest_reader.py +++ b/python/iceberg/core/manifest_reader.py @@ -33,8 +33,8 @@ class ManifestReader(CloseableGroup, Filterable): - ALL_COLUMNS = ["*"] - CHANGE_COLUMNS = ["file_path", "file_format", "partition", "record_count", "file_size_in_bytes"] + ALL_COLUMNS = ("*",) + CHANGE_COLUMNS = ("file_path", "file_format", "partition", "record_count", "file_size_in_bytes") @staticmethod def read(file, spec_lookup=None): diff --git a/python/iceberg/core/partition_spec_parser.py b/python/iceberg/core/partition_spec_parser.py index 600904d53af1..ab57079c55b1 100644 --- a/python/iceberg/core/partition_spec_parser.py +++ b/python/iceberg/core/partition_spec_parser.py @@ -25,6 +25,7 @@ class PartitionSpecParser(object): SPEC_ID = "spec-id" FIELDS = "fields" SOURCE_ID = "source-id" + FIELD_ID = "field-id" TRANSFORM = "transform" NAME = "name" @@ -41,7 +42,8 @@ def to_dict(spec): def to_json_fields(spec): return [{PartitionSpecParser.NAME: field.name, PartitionSpecParser.TRANSFORM: str(field.transform), - PartitionSpecParser.SOURCE_ID: field.source_id} + PartitionSpecParser.SOURCE_ID: field.source_id, + PartitionSpecParser.FIELD_ID: field.field_id} for field in spec.fields] @staticmethod @@ -56,18 +58,8 @@ def from_json(schema, json_obj): builder = PartitionSpec.builder_for(schema).with_spec_id(spec_id) fields = json_obj.get(PartitionSpecParser.FIELDS) - if not isinstance(fields, (list, tuple)): - raise RuntimeError("Cannot parse partition spec fields, not an array: %s" % fields) - for element in fields: - if not isinstance(element, dict): - raise RuntimeError("Cannot parse partition field, not an object: %s" % element) - - builder.add(element.get(PartitionSpecParser.SOURCE_ID), - element.get(PartitionSpecParser.NAME), - element.get(PartitionSpecParser.TRANSFORM)) - - return builder.build() + return PartitionSpecParser.__build_from_json_fields(builder, fields) @staticmethod def from_json_fields(schema, spec_id, json_obj): @@ -76,14 +68,31 @@ def from_json_fields(schema, spec_id, json_obj): if isinstance(json_obj, str): json_obj = json.loads(json_obj) - if not isinstance(json_obj, list): - raise RuntimeError("Cannot parse partition spec fields, not an array: %s" % json_obj) + return PartitionSpecParser.__build_from_json_fields(builder, json_obj) + + @staticmethod + def __build_from_json_fields(builder, json_fields): + if not isinstance(json_fields, (list, tuple)): + raise RuntimeError("Cannot parse partition spec fields, not an array: %s" % json_fields) + + field_id_count = 0 + for element in json_fields: + if not isinstance(element, dict): + raise RuntimeError("Cannot parse partition field, not an object: %s" % element) - for item in json_obj: - if not isinstance(item, dict): - raise RuntimeError("Cannot parse partition field, not an object: %s" % json_obj) - builder.add(item.get(PartitionSpecParser.SOURCE_ID), - item.get(PartitionSpecParser.NAME), - item.get(PartitionSpecParser.TRANSFORM)) + if element.get(PartitionSpecParser.FIELD_ID) is not None: + builder.add(element.get(PartitionSpecParser.SOURCE_ID), + element.get(PartitionSpecParser.FIELD_ID), + element.get(PartitionSpecParser.NAME), + element.get(PartitionSpecParser.TRANSFORM)) + field_id_count = field_id_count + 1 + else: + builder.add_without_field_id(element.get(PartitionSpecParser.SOURCE_ID), + element.get(PartitionSpecParser.NAME), + element.get(PartitionSpecParser.TRANSFORM)) + + if field_id_count > 0 and field_id_count != len(json_fields): + raise RuntimeError("Cannot parse spec with missing field IDs: %s missing of %s fields." % + (len(json_fields) - field_id_count, len(json_fields))) return builder.build() diff --git a/python/tests/core/test_partition_spec.py b/python/tests/core/test_partition_spec.py new file mode 100644 index 000000000000..f0f3b9b01a43 --- /dev/null +++ b/python/tests/core/test_partition_spec.py @@ -0,0 +1,111 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from iceberg.api import PartitionSpec, Schema +from iceberg.api.types import (BinaryType, + DateType, + DecimalType, + FixedType, + IntegerType, + LongType, + NestedField, + StringType, + TimestampType, + TimeType, + UUIDType) + + +def test_to_json_conversion(): + spec_schema = Schema(NestedField.required(1, "i", IntegerType.get()), + NestedField.required(2, "l", LongType.get()), + NestedField.required(3, "d", DateType.get()), + NestedField.required(4, "t", TimeType.get()), + NestedField.required(5, "ts", TimestampType.without_timezone()), + NestedField.required(6, "dec", DecimalType.of(9, 2)), + NestedField.required(7, "s", StringType.get()), + NestedField.required(8, "u", UUIDType.get()), + NestedField.required(9, "f", FixedType.of_length(3)), + NestedField.required(10, "b", BinaryType.get())) + + specs = [ + PartitionSpec.builder_for(spec_schema).identity("i").build(), + PartitionSpec.builder_for(spec_schema).identity("l").build(), + PartitionSpec.builder_for(spec_schema).identity("d").build(), + PartitionSpec.builder_for(spec_schema).identity("t").build(), + PartitionSpec.builder_for(spec_schema).identity("ts").build(), + PartitionSpec.builder_for(spec_schema).identity("dec").build(), + PartitionSpec.builder_for(spec_schema).identity("s").build(), + PartitionSpec.builder_for(spec_schema).identity("u").build(), + PartitionSpec.builder_for(spec_schema).identity("f").build(), + PartitionSpec.builder_for(spec_schema).identity("b").build(), + PartitionSpec.builder_for(spec_schema).bucket("i", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("l", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("d", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("t", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("ts", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("dec", 128).build(), + PartitionSpec.builder_for(spec_schema).bucket("s", 128).build(), + PartitionSpec.builder_for(spec_schema).year("d").build(), + PartitionSpec.builder_for(spec_schema).month("d").build(), + PartitionSpec.builder_for(spec_schema).day("d").build(), + PartitionSpec.builder_for(spec_schema).year("ts").build(), + PartitionSpec.builder_for(spec_schema).month("ts").build(), + PartitionSpec.builder_for(spec_schema).day("ts").build(), + PartitionSpec.builder_for(spec_schema).hour("ts").build(), + PartitionSpec.builder_for(spec_schema).truncate("i", 10).build(), + PartitionSpec.builder_for(spec_schema).truncate("l", 10).build(), + PartitionSpec.builder_for(spec_schema).truncate("dec", 10).build(), + PartitionSpec.builder_for(spec_schema).truncate("s", 10).build(), + PartitionSpec.builder_for(spec_schema).add_without_field_id(6, "dec_bucket", "bucket[16]").build(), + PartitionSpec.builder_for(spec_schema).add(6, 1011, "dec_bucket", "bucket[16]").build(), + ] + + expected_spec_strs = [ + "[\n 1000: i: identity(1)\n]", + "[\n 1000: l: identity(2)\n]", + "[\n 1000: d: identity(3)\n]", + "[\n 1000: t: identity(4)\n]", + "[\n 1000: ts: identity(5)\n]", + "[\n 1000: dec: identity(6)\n]", + "[\n 1000: s: identity(7)\n]", + "[\n 1000: u: identity(8)\n]", + "[\n 1000: f: identity(9)\n]", + "[\n 1000: b: identity(10)\n]", + "[\n 1000: i_bucket: bucket[128](1)\n]", + "[\n 1000: l_bucket: bucket[128](2)\n]", + "[\n 1000: d_bucket: bucket[128](3)\n]", + "[\n 1000: t_bucket: bucket[128](4)\n]", + "[\n 1000: ts_bucket: bucket[128](5)\n]", + "[\n 1000: dec_bucket: bucket[128](6)\n]", + "[\n 1000: s_bucket: bucket[128](7)\n]", + "[\n 1000: d_year: year(3)\n]", + "[\n 1000: d_month: month(3)\n]", + "[\n 1000: d_day: day(3)\n]", + "[\n 1000: ts_year: year(5)\n]", + "[\n 1000: ts_month: month(5)\n]", + "[\n 1000: ts_day: day(5)\n]", + "[\n 1000: ts_hour: hour(5)\n]", + "[\n 1000: i_truncate: truncate[10](1)\n]", + "[\n 1000: l_truncate: truncate[10](2)\n]", + "[\n 1000: dec_truncate: truncate[10](6)\n]", + "[\n 1000: s_truncate: truncate[10](7)\n]", + "[\n 1000: dec_bucket: bucket[16](6)\n]", + "[\n 1011: dec_bucket: bucket[16](6)\n]", + ] + + for (spec, expected_spec_str) in zip(specs, expected_spec_strs): + assert str(spec) == expected_spec_str diff --git a/python/tests/core/test_partition_spec_parser.py b/python/tests/core/test_partition_spec_parser.py index 53285362f6cd..256186cb84c2 100644 --- a/python/tests/core/test_partition_spec_parser.py +++ b/python/tests/core/test_partition_spec_parser.py @@ -16,21 +16,95 @@ # under the License. from iceberg.api import PartitionSpec, Schema -from iceberg.api.types import IntegerType, NestedField, StringType +from iceberg.api.types import DecimalType, IntegerType, NestedField, StringType from iceberg.core import PartitionSpecParser +import pytest def test_to_json_conversion(): spec_schema = Schema(NestedField.required(1, "id", IntegerType.get()), - NestedField.required(2, "data", StringType.get())) + NestedField.required(2, "data", StringType.get()), + NestedField.required(3, "num", DecimalType.of(9, 2))) - spec = PartitionSpec\ + spec = PartitionSpec \ .builder_for(spec_schema) \ - .identity("id")\ - .bucket("data", 16)\ + .identity("id") \ + .bucket("data", 16) \ + .add_without_field_id(2, "data1", "bucket[16]") \ + .add(2, 1010, "data2", "bucket[8]") \ + .bucket("num", 8) \ .build() expected = '{"spec-id": 0, "fields": [' \ - '{"name": "id", "transform": "identity", "source-id": 1}, ' \ - '{"name": "data_bucket", "transform": "bucket[16]", "source-id": 2}]}' + '{"name": "id", "transform": "identity", "source-id": 1, "field-id": 1000}, ' \ + '{"name": "data_bucket", "transform": "bucket[16]", "source-id": 2, "field-id": 1001}, ' \ + '{"name": "data1", "transform": "bucket[16]", "source-id": 2, "field-id": 1002}, ' \ + '{"name": "data2", "transform": "bucket[8]", "source-id": 2, "field-id": 1010}, ' \ + '{"name": "num_bucket", "transform": "bucket[8]", "source-id": 3, "field-id": 1011}]}' assert expected == PartitionSpecParser.to_json(spec) + + +def test_from_json_conversion_with_field_ids(): + spec_schema = Schema(NestedField.required(1, "id", IntegerType.get()), + NestedField.required(2, "data", StringType.get()), + NestedField.required(3, "num", DecimalType.of(9, 2))) + + spec_string = '{"spec-id": 0, "fields": [' \ + '{"name": "id", "transform": "identity", "source-id": 1, "field-id": 1000}, ' \ + '{"name": "data_bucket", "transform": "bucket[16]", "source-id": 2, "field-id": 1001}, ' \ + '{"name": "data1", "transform": "bucket[16]", "source-id": 2, "field-id": 1002}, ' \ + '{"name": "data2", "transform": "bucket[8]", "source-id": 2, "field-id": 1010}, ' \ + '{"name": "num_bucket", "transform": "bucket[8]", "source-id": 3, "field-id": 1011}]}' + + spec = PartitionSpecParser.from_json(spec_schema, spec_string) + + expected_spec = PartitionSpec \ + .builder_for(spec_schema) \ + .identity("id") \ + .bucket("data", 16) \ + .add_without_field_id(2, "data1", "bucket[16]") \ + .add(2, 1010, "data2", "bucket[8]") \ + .bucket("num", 8) \ + .build() + assert expected_spec == spec + + +def test_from_json_conversion_without_field_ids(): + spec_schema = Schema(NestedField.required(1, "id", IntegerType.get()), + NestedField.required(2, "data", StringType.get()), + NestedField.required(3, "num", DecimalType.of(9, 2))) + + spec_string = '{"spec-id": 0, "fields": [' \ + '{"name": "id", "transform": "identity", "source-id": 1}, ' \ + '{"name": "data_bucket", "transform": "bucket[16]", "source-id": 2}, ' \ + '{"name": "data1", "transform": "bucket[16]", "source-id": 2}, ' \ + '{"name": "data2", "transform": "bucket[8]", "source-id": 2}, ' \ + '{"name": "num_bucket", "transform": "bucket[8]", "source-id": 3}]}' + + spec = PartitionSpecParser.from_json(spec_schema, spec_string) + + expected_spec = PartitionSpec \ + .builder_for(spec_schema) \ + .identity("id") \ + .bucket("data", 16) \ + .add_without_field_id(2, "data1", "bucket[16]") \ + .add(2, 1003, "data2", "bucket[8]") \ + .bucket("num", 8) \ + .build() + assert expected_spec == spec + + +def test_raise_exception_with_invalid_json(): + spec_schema = Schema(NestedField.required(1, "id", IntegerType.get()), + NestedField.required(2, "data", StringType.get()), + NestedField.required(3, "num", DecimalType.of(9, 2))) + + spec_string = '{"spec-id": 0, "fields": [' \ + '{"name": "id", "transform": "identity", "source-id": 1, "field-id": 1000}, ' \ + '{"name": "data_bucket", "transform": "bucket[16]", "source-id": 2, "field-id": 1001}, ' \ + '{"name": "data1", "transform": "bucket[16]", "source-id": 2}, ' \ + '{"name": "data2", "transform": "bucket[8]", "source-id": 2}, ' \ + '{"name": "num_bucket", "transform": "bucket[8]", "source-id": 3}]}' + + with pytest.raises(RuntimeError): + PartitionSpecParser.from_json(spec_schema, spec_string) diff --git a/python/tox.ini b/python/tox.ini index 9c49b0bd33cc..b011511130b2 100644 --- a/python/tox.ini +++ b/python/tox.ini @@ -39,9 +39,11 @@ deps = . {[testenv:flake8]deps} {[testenv:bandit]deps} + {[testenv:mypy]deps} commands = {[testenv:flake8]commands} {[testenv:bandit]commands} + {[testenv:mypy]commands} [testenv:flake8] basepython = python3 @@ -53,6 +55,14 @@ deps = commands = flake8 iceberg setup.py tests +[testenv:mypy] +basepython = python3 +skip_install = true +deps = + mypy +commands = + mypy --ignore-missing-imports iceberg/ + [testenv:bandit] basepython = python3 skip_install = true @@ -77,9 +87,6 @@ commands = # commands = # python -m http.server {posargs} -[bandit] -skips = B104 - [flake8] ignore = E501,W503 exclude = diff --git a/settings.gradle b/settings.gradle index 0c9e59228094..706ca326a0af 100644 --- a/settings.gradle +++ b/settings.gradle @@ -25,6 +25,7 @@ include 'data' include 'mr' include 'orc' include 'parquet' +include 'bundled-guava' include 'spark' include 'arrow' include 'spark-runtime' @@ -39,6 +40,7 @@ project(':mr').name = 'iceberg-mr' project(':orc').name = 'iceberg-orc' project(':arrow').name = 'iceberg-arrow' project(':parquet').name = 'iceberg-parquet' +project(':bundled-guava').name = 'iceberg-bundled-guava' project(':spark').name = 'iceberg-spark' project(':spark-runtime').name = 'iceberg-spark-runtime' project(':pig').name = 'iceberg-pig' diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java b/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java index 6399bc7e5899..3f9c325eef14 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/SparkBenchmarkUtil.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Lists; import java.util.List; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.catalyst.expressions.Attribute; import org.apache.spark.sql.catalyst.expressions.AttributeReference; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java index 92fbdee7d97e..a37876f48d15 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersFlatDataBenchmark.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data.parquet; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import java.util.List; @@ -30,6 +29,7 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.apache.iceberg.spark.SparkBenchmarkUtil; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.data.RandomData; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java index 199d884da1b0..3011d140b23d 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/data/parquet/SparkParquetReadersNestedDataBenchmark.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data.parquet; -import com.google.common.collect.Iterables; import java.io.File; import java.io.IOException; import java.util.List; @@ -30,6 +29,7 @@ import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.apache.iceberg.spark.SparkBenchmarkUtil; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.data.RandomData; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java index 9f9a07021e7f..9e206321a540 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceFlatDataBenchmark.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Maps; import java.util.Map; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.PartitionSpec; @@ -27,6 +26,7 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import static org.apache.iceberg.types.Types.NestedField.optional; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java index 16468a169852..5a0d9359ec6b 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/IcebergSourceNestedDataBenchmark.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Maps; import java.util.Map; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.PartitionSpec; @@ -27,6 +26,7 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import static org.apache.iceberg.types.Types.NestedField.optional; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java index cbf744c11d7c..762218b021e6 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceFlatAvroDataReadBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.avro; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceFlatDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java index 0abfac3ee240..77016b25fd00 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/avro/IcebergSourceNestedAvroDataReadBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.avro; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceNestedDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java index 1c9164593eaa..34bede0a6089 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataFilterBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceFlatDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java index 37a63369981c..a980daad1f0d 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataReadBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceFlatDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java index ab62f53e7008..a4db9db25287 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceFlatParquetDataWriteBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceFlatDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java index c12f3ee668a2..8cdb03c02f94 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataFilterBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceNestedDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java index acba2e5d330d..501ffa7a3bc4 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataReadBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceNestedDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java index 0bd98610da99..20e4e9339e1e 100644 --- a/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java +++ b/spark/src/jmh/java/org/apache/iceberg/spark/source/parquet/IcebergSourceNestedParquetDataWriteBenchmark.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark.source.parquet; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.Map; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.IcebergSourceNestedDataBenchmark; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/main/java/org/apache/iceberg/actions/BaseSnapshotUpdateAction.java b/spark/src/main/java/org/apache/iceberg/actions/BaseSnapshotUpdateAction.java index b9a8c949b1a6..fe5d41266875 100644 --- a/spark/src/main/java/org/apache/iceberg/actions/BaseSnapshotUpdateAction.java +++ b/spark/src/main/java/org/apache/iceberg/actions/BaseSnapshotUpdateAction.java @@ -19,9 +19,9 @@ package org.apache.iceberg.actions; -import com.google.common.collect.Maps; import java.util.Map; import org.apache.iceberg.SnapshotUpdate; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; abstract class BaseSnapshotUpdateAction extends BaseAction implements SnapshotUpdateAction { diff --git a/spark/src/main/java/org/apache/iceberg/actions/RemoveOrphanFilesAction.java b/spark/src/main/java/org/apache/iceberg/actions/RemoveOrphanFilesAction.java index b782f0839bd2..e32636414f56 100644 --- a/spark/src/main/java/org/apache/iceberg/actions/RemoveOrphanFilesAction.java +++ b/spark/src/main/java/org/apache/iceberg/actions/RemoveOrphanFilesAction.java @@ -19,7 +19,7 @@ package org.apache.iceberg.actions; -import com.google.common.collect.Lists; +import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; @@ -38,6 +38,7 @@ import org.apache.iceberg.TableOperations; import org.apache.iceberg.exceptions.RuntimeIOException; import org.apache.iceberg.hadoop.HiddenPathFilter; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.util.Tasks; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; @@ -48,6 +49,9 @@ import org.apache.spark.sql.Encoders; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; +import org.apache.spark.sql.expressions.UserDefinedFunction; +import org.apache.spark.sql.functions; +import org.apache.spark.sql.types.DataTypes; import org.apache.spark.util.SerializableConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -69,6 +73,14 @@ public class RemoveOrphanFilesAction extends BaseAction> { private static final Logger LOG = LoggerFactory.getLogger(RemoveOrphanFilesAction.class); + private static final UserDefinedFunction filename = functions.udf((String path) -> { + int lastIndex = path.lastIndexOf(File.separator); + if (lastIndex == -1) { + return path; + } else { + return path.substring(lastIndex + 1); + } + }, DataTypes.StringType); private final SparkSession spark; private final JavaSparkContext sparkContext; @@ -141,7 +153,10 @@ public List execute() { Dataset validFileDF = validDataFileDF.union(validMetadataFileDF); Dataset actualFileDF = buildActualFileDF(); - Column joinCond = validFileDF.col("file_path").equalTo(actualFileDF.col("file_path")); + Column nameEqual = filename.apply(actualFileDF.col("file_path")) + .equalTo(filename.apply(validFileDF.col("file_path"))); + Column actualContains = actualFileDF.col("file_path").contains(validFileDF.col("file_path")); + Column joinCond = nameEqual.and(actualContains); List orphanFiles = actualFileDF.join(validFileDF, joinCond, "leftanti") .as(Encoders.STRING()) .collectAsList(); diff --git a/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsAction.java b/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsAction.java index b8f88ea54e6b..7999c87c02f5 100644 --- a/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsAction.java +++ b/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsAction.java @@ -19,10 +19,6 @@ package org.apache.iceberg.actions; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.Collections; import java.util.List; @@ -48,6 +44,10 @@ import org.apache.iceberg.hadoop.HadoopFileIO; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.SparkDataFile; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.PropertyUtil; diff --git a/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsActionResult.java b/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsActionResult.java index b122450129d6..e6f1cd2645dc 100644 --- a/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsActionResult.java +++ b/spark/src/main/java/org/apache/iceberg/actions/RewriteManifestsActionResult.java @@ -19,9 +19,9 @@ package org.apache.iceberg.actions; -import com.google.common.collect.ImmutableList; import java.util.List; import org.apache.iceberg.ManifestFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; public class RewriteManifestsActionResult { diff --git a/spark/src/main/java/org/apache/iceberg/spark/FixupTypes.java b/spark/src/main/java/org/apache/iceberg/spark/FixupTypes.java index 74005eebdd1c..3c3cc1ea67c2 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/FixupTypes.java +++ b/spark/src/main/java/org/apache/iceberg/spark/FixupTypes.java @@ -19,11 +19,11 @@ package org.apache.iceberg.spark; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.List; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java b/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java index b8ddef164d5f..3bdf984ed219 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java +++ b/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithReordering.java @@ -19,15 +19,15 @@ package org.apache.iceberg.spark; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.TypeUtil; diff --git a/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java b/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java index 47af527f973e..653c27313ec3 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java +++ b/spark/src/main/java/org/apache/iceberg/spark/PruneColumnsWithoutReordering.java @@ -19,13 +19,13 @@ package org.apache.iceberg.spark; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.util.List; import java.util.Set; import java.util.function.Supplier; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.TypeUtil; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java b/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java index 4991980d83d4..fe7c00401fc1 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkDataFile.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Maps; import java.nio.ByteBuffer; import java.util.List; import java.util.Locale; @@ -27,6 +26,7 @@ import org.apache.iceberg.DataFile; import org.apache.iceberg.FileFormat; import org.apache.iceberg.StructLike; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Row; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java b/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java index 80bae9863c84..0e8bb67d7b7b 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkFilters.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; import java.sql.Date; import java.sql.Timestamp; import java.util.Objects; @@ -28,6 +26,8 @@ import java.util.stream.Stream; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.Expression.Operation; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.spark.sql.catalyst.util.DateTimeUtils; import org.apache.spark.sql.sources.And; import org.apache.spark.sql.sources.EqualNullSafe; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java b/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java index 58e785f8e115..843a7dcd95c9 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkSchemaUtil.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark; -import com.google.common.base.Splitter; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -30,6 +27,9 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.Binder; import org.apache.iceberg.expressions.Expression; +import org.apache.iceberg.relocated.com.google.common.base.Splitter; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java b/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java index f01c9761f7f5..90c612957d4d 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkTypeToType.java @@ -19,8 +19,8 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.spark.sql.types.ArrayType; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java b/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java index 381bcf22fb57..83b31940711e 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkTypeVisitor.java @@ -19,8 +19,8 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Lists; import java.util.List; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.spark.sql.types.ArrayType; import org.apache.spark.sql.types.DataType; import org.apache.spark.sql.types.MapType; diff --git a/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java b/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java index 8e028272156c..b0384e27f124 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java +++ b/spark/src/main/java/org/apache/iceberg/spark/SparkValueConverter.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.nio.ByteBuffer; import java.sql.Date; import java.sql.Timestamp; @@ -29,6 +27,8 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.data.GenericRecord; import org.apache.iceberg.data.Record; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Row; diff --git a/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java b/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java index f1fe2906ebda..b9e9dfade792 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java +++ b/spark/src/main/java/org/apache/iceberg/spark/TypeToSparkType.java @@ -19,9 +19,9 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Lists; import java.util.List; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java b/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java index 7f01e10d2969..9e3cb805a65e 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.java @@ -19,13 +19,13 @@ package org.apache.iceberg.spark.data; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; import org.apache.avro.Schema; import org.apache.iceberg.avro.AvroSchemaUtil; import org.apache.iceberg.avro.LogicalMap; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.spark.sql.types.ArrayType; import org.apache.spark.sql.types.DataType; import org.apache.spark.sql.types.DataTypes; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java b/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java index 111356dbc479..924cc3e2325a 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/ParquetWithSparkSchemaVisitor.java @@ -19,11 +19,11 @@ package org.apache.iceberg.spark.data; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.util.Deque; import java.util.List; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.parquet.schema.GroupType; import org.apache.parquet.schema.MessageType; import org.apache.parquet.schema.OriginalType; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java index 215a2654ebfb..b112f68eddb0 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroReader.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.MapMaker; import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -36,6 +34,8 @@ import org.apache.iceberg.avro.ValueReader; import org.apache.iceberg.avro.ValueReaders; import org.apache.iceberg.exceptions.RuntimeIOException; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.MapMaker; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.spark.sql.catalyst.InternalRow; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java index bc457be4b852..2f82cc12f469 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkAvroWriter.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; @@ -31,6 +30,7 @@ import org.apache.avro.io.Encoder; import org.apache.iceberg.avro.ValueWriter; import org.apache.iceberg.avro.ValueWriters; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.spark.sql.catalyst.InternalRow; import org.apache.spark.sql.types.ArrayType; import org.apache.spark.sql.types.ByteType; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java index 60a41380e42a..2baf59ea6f08 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetReaders.java @@ -19,10 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -42,6 +38,10 @@ import org.apache.iceberg.parquet.ParquetValueReaders.StructReader; import org.apache.iceberg.parquet.ParquetValueReaders.UnboxedReader; import org.apache.iceberg.parquet.TypeWithSchemaVisitor; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Type.TypeID; import org.apache.iceberg.types.Types; import org.apache.parquet.column.ColumnDescriptor; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java index 99c957c5277a..c7cb23083333 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkParquetWriters.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.util.Iterator; import java.util.List; @@ -32,6 +30,8 @@ import org.apache.iceberg.parquet.ParquetValueWriters.PrimitiveWriter; import org.apache.iceberg.parquet.ParquetValueWriters.RepeatedKeyValueWriter; import org.apache.iceberg.parquet.ParquetValueWriters.RepeatedWriter; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.TypeUtil; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.io.api.Binary; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java index 7408ca20be58..eaeb85f3c344 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueReaders.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.Lists; import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; @@ -33,6 +32,7 @@ import org.apache.avro.util.Utf8; import org.apache.iceberg.avro.ValueReader; import org.apache.iceberg.avro.ValueReaders; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.catalyst.InternalRow; import org.apache.spark.sql.catalyst.expressions.GenericInternalRow; diff --git a/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java b/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java index fc519d1146e2..e3c9133b6cdd 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java +++ b/spark/src/main/java/org/apache/iceberg/spark/data/SparkValueWriters.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.base.Preconditions; import java.io.IOException; import java.lang.reflect.Array; import java.math.BigDecimal; @@ -30,6 +29,7 @@ import org.apache.avro.io.Encoder; import org.apache.avro.util.Utf8; import org.apache.iceberg.avro.ValueWriter; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.types.TypeUtil; import org.apache.spark.sql.catalyst.InternalRow; import org.apache.spark.sql.catalyst.util.ArrayData; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/BaseDataReader.java b/spark/src/main/java/org/apache/iceberg/spark/source/BaseDataReader.java index d481ab41aca2..9ab8bce31595 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/BaseDataReader.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/BaseDataReader.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; import java.io.IOException; import java.util.Iterator; import java.util.Map; @@ -32,6 +29,9 @@ import org.apache.iceberg.io.CloseableIterator; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; import org.apache.spark.rdd.InputFileBlockHolder; import org.apache.spark.sql.sources.v2.reader.InputPartitionReader; @@ -40,6 +40,7 @@ * * @param is the Java class returned by this reader whose objects contain one or more rows. */ +@SuppressWarnings("checkstyle:VisibilityModifier") abstract class BaseDataReader implements InputPartitionReader { private final Iterator tasks; private final FileIO fileIo; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java b/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java index aa7ce09f4fe1..96f7d9d24a6d 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Preconditions; import java.util.List; import java.util.Map; import java.util.Optional; @@ -36,6 +35,7 @@ import org.apache.iceberg.hive.HiveCatalog; import org.apache.iceberg.hive.HiveCatalogs; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.transforms.Transform; import org.apache.iceberg.transforms.UnknownTransform; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/PartitionKey.java b/spark/src/main/java/org/apache/iceberg/spark/source/PartitionKey.java index 098423716d85..32d01adc26e8 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/PartitionKey.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/PartitionKey.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Maps; import java.lang.reflect.Array; import java.nio.ByteBuffer; import java.util.Arrays; @@ -29,6 +28,7 @@ import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; import org.apache.iceberg.StructLike; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.transforms.Transform; import org.apache.iceberg.types.Type; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/Reader.java b/spark/src/main/java/org/apache/iceberg/spark/source/Reader.java index 51c0572f0b46..919cde984f10 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/Reader.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/Reader.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import java.io.IOException; import java.io.Serializable; import java.util.List; @@ -44,6 +42,8 @@ import org.apache.iceberg.hadoop.Util; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.FileIO; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.SparkFilters; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.spark.broadcast.Broadcast; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java b/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java index f4ea6c7ee15f..51d4b841a8fc 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/RowDataReader.java @@ -19,10 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.util.List; @@ -46,6 +42,10 @@ import org.apache.iceberg.io.InputFile; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.data.SparkAvroReader; import org.apache.iceberg.spark.data.SparkOrcReader; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java b/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java index d946095fd6df..231d8c360585 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/StructInternalRow.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.util.Collection; @@ -29,6 +27,8 @@ import java.util.function.BiConsumer; import java.util.function.Function; import org.apache.iceberg.StructLike; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.ByteBuffers; diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/Writer.java b/spark/src/main/java/org/apache/iceberg/spark/source/Writer.java index 8049dc27df28..298bcb95679c 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/Writer.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/Writer.java @@ -19,10 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -54,6 +50,10 @@ import org.apache.iceberg.io.OutputFile; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.spark.data.SparkAvroWriter; import org.apache.iceberg.spark.data.SparkOrcWriter; import org.apache.iceberg.spark.data.SparkParquetWriters; diff --git a/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala b/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala index eb4a72685256..55ceda2b52e1 100644 --- a/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala +++ b/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala @@ -19,7 +19,6 @@ package org.apache.iceberg.spark -import com.google.common.collect.Maps import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.{Path, PathFilter} import org.apache.iceberg.{DataFile, DataFiles, FileFormat, ManifestFile, ManifestFiles} @@ -28,6 +27,7 @@ import org.apache.iceberg.exceptions.NoSuchTableException import org.apache.iceberg.hadoop.{HadoopFileIO, HadoopInputFile, SerializableConfiguration} import org.apache.iceberg.orc.OrcMetrics import org.apache.iceberg.parquet.ParquetUtil +import org.apache.iceberg.relocated.com.google.common.collect.Maps import org.apache.iceberg.util.PropertyUtil import org.apache.parquet.hadoop.ParquetFileReader import org.apache.spark.TaskContext diff --git a/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java b/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java index c67f7d91f49f..d2406a7b7fb2 100644 --- a/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java +++ b/spark/src/test/java/org/apache/iceberg/TestDataFileSerialization.java @@ -22,8 +22,6 @@ import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -38,6 +36,8 @@ import java.util.UUID; import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.data.RandomData; import org.apache.iceberg.spark.data.SparkParquetWriters; diff --git a/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java b/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java index 00cec599dcf3..8ea2a175c36d 100644 --- a/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java +++ b/spark/src/test/java/org/apache/iceberg/TestManifestFileSerialization.java @@ -22,7 +22,6 @@ import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; -import com.google.common.collect.ImmutableMap; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -38,6 +37,7 @@ import org.apache.iceberg.hadoop.HadoopFileIO; import org.apache.iceberg.io.FileIO; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.apache.spark.SparkConf; import org.apache.spark.serializer.KryoSerializer; diff --git a/spark/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction.java b/spark/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction.java index e0245b5bf65a..8e71b0e287f6 100644 --- a/spark/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction.java +++ b/spark/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction.java @@ -19,8 +19,6 @@ package org.apache.iceberg.actions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -38,6 +36,8 @@ import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.hadoop.HiddenPathFilter; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.source.ThreeColumnRecord; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; @@ -85,11 +85,12 @@ public static void stopSpark() { @Rule public TemporaryFolder temp = new TemporaryFolder(); + private File tableDir = null; private String tableLocation = null; @Before public void setupTableLocation() throws Exception { - File tableDir = temp.newFolder(); + this.tableDir = temp.newFolder(); this.tableLocation = tableDir.toURI().toString(); } @@ -491,4 +492,54 @@ private List snapshotFiles(long snapshotId) { .as(Encoders.STRING()) .collectAsList(); } + + @Test + public void testRemoveOrphanFilesWithRelativeFilePath() throws IOException, InterruptedException { + Table table = TABLES.create(SCHEMA, PartitionSpec.unpartitioned(), Maps.newHashMap(), tableDir.getAbsolutePath()); + + List records = Lists.newArrayList( + new ThreeColumnRecord(1, "AAAAAAAAAA", "AAAA") + ); + + Dataset df = spark.createDataFrame(records, ThreeColumnRecord.class).coalesce(1); + + df.select("c1", "c2", "c3") + .write() + .format("iceberg") + .mode("append") + .save(tableDir.getAbsolutePath()); + + List validFiles = spark.read().format("iceberg") + .load(tableLocation + "#files") + .select("file_path") + .as(Encoders.STRING()) + .collectAsList(); + Assert.assertEquals("Should be 1 valid files", 1, validFiles.size()); + String validFile = validFiles.get(0); + + df.write().mode("append").parquet(tableLocation + "/data"); + + Path dataPath = new Path(tableLocation + "/data"); + FileSystem fs = dataPath.getFileSystem(spark.sessionState().newHadoopConf()); + List allFiles = Arrays.stream(fs.listStatus(dataPath, HiddenPathFilter.get())) + .filter(FileStatus::isFile) + .map(file -> file.getPath().toString()) + .collect(Collectors.toList()); + Assert.assertEquals("Should be 2 files", 2, allFiles.size()); + + List invalidFiles = Lists.newArrayList(allFiles); + invalidFiles.removeIf(file -> file.contains(validFile)); + Assert.assertEquals("Should be 1 invalid file", 1, invalidFiles.size()); + + // sleep for 1 second to unsure files will be old enough + Thread.sleep(1000); + + Actions actions = Actions.forTable(table); + List result = actions.removeOrphanFiles() + .olderThan(System.currentTimeMillis()) + .deleteWith(s -> { }) + .execute(); + Assert.assertEquals("Action should find 1 file", invalidFiles, result); + Assert.assertTrue("Invalid file should be present", fs.exists(new Path(invalidFiles.get(0)))); + } } diff --git a/spark/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction.java b/spark/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction.java index c9249da1f5a1..f7466ce022a3 100644 --- a/spark/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction.java +++ b/spark/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction.java @@ -19,8 +19,6 @@ package org.apache.iceberg.actions; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.util.List; @@ -33,6 +31,8 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.SparkTableUtil; import org.apache.iceberg.spark.source.ThreeColumnRecord; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/examples/ReadAndWriteTablesTest.java b/spark/src/test/java/org/apache/iceberg/examples/ReadAndWriteTablesTest.java index 0f495741dc36..0fd68cebd4cd 100644 --- a/spark/src/test/java/org/apache/iceberg/examples/ReadAndWriteTablesTest.java +++ b/spark/src/test/java/org/apache/iceberg/examples/ReadAndWriteTablesTest.java @@ -19,7 +19,6 @@ package org.apache.iceberg.examples; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -29,6 +28,7 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.Table; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/test/java/org/apache/iceberg/examples/SimpleRecord.java b/spark/src/test/java/org/apache/iceberg/examples/SimpleRecord.java index f7394f3ff4d2..af8a5a765c9a 100644 --- a/spark/src/test/java/org/apache/iceberg/examples/SimpleRecord.java +++ b/spark/src/test/java/org/apache/iceberg/examples/SimpleRecord.java @@ -19,7 +19,7 @@ package org.apache.iceberg.examples; -import com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Objects; public class SimpleRecord { private Integer id; diff --git a/spark/src/test/java/org/apache/iceberg/examples/SnapshotFunctionalityTest.java b/spark/src/test/java/org/apache/iceberg/examples/SnapshotFunctionalityTest.java index 4649d9a2a8eb..6052b22210e9 100644 --- a/spark/src/test/java/org/apache/iceberg/examples/SnapshotFunctionalityTest.java +++ b/spark/src/test/java/org/apache/iceberg/examples/SnapshotFunctionalityTest.java @@ -19,7 +19,6 @@ package org.apache.iceberg.examples; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -33,6 +32,7 @@ import org.apache.iceberg.Snapshot; import org.apache.iceberg.Table; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/test/java/org/apache/iceberg/spark/TestSparkDataFile.java b/spark/src/test/java/org/apache/iceberg/spark/TestSparkDataFile.java index 2ebb3dd473f7..b22b294211e2 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/TestSparkDataFile.java +++ b/spark/src/test/java/org/apache/iceberg/spark/TestSparkDataFile.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -40,6 +37,9 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.data.RandomData; import org.apache.iceberg.types.Types; import org.apache.spark.api.java.JavaRDD; diff --git a/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java b/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java index 6b7c504a83b9..821f5bd66f9f 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java +++ b/spark/src/test/java/org/apache/iceberg/spark/data/GenericsHelpers.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.sql.Timestamp; @@ -34,6 +33,7 @@ import java.util.Map; import java.util.UUID; import org.apache.iceberg.data.Record; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Row; diff --git a/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java b/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java index 4b8952698bf8..e960a7fa474c 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java +++ b/spark/src/test/java/org/apache/iceberg/spark/data/RandomData.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -37,6 +34,9 @@ import org.apache.avro.generic.GenericData.Record; import org.apache.iceberg.Schema; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java b/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java index c20bc67a69e1..433f87c75582 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java +++ b/spark/src/test/java/org/apache/iceberg/spark/data/TestHelpers.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.Lists; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.sql.Timestamp; @@ -36,6 +35,7 @@ import org.apache.avro.generic.GenericData; import org.apache.avro.generic.GenericData.Record; import org.apache.iceberg.Schema; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; import org.apache.orc.storage.serde2.io.DateWritable; diff --git a/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java b/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java index 760b33d608aa..3517c32ffebb 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java +++ b/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroEnums.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -34,6 +32,8 @@ import org.apache.iceberg.avro.Avro; import org.apache.iceberg.avro.AvroIterable; import org.apache.iceberg.avro.AvroSchemaUtil; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.spark.sql.catalyst.InternalRow; import org.junit.Assert; import org.junit.Rule; diff --git a/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java b/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java index 22be13113621..e4398df39cc8 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java +++ b/spark/src/test/java/org/apache/iceberg/spark/data/TestSparkAvroReader.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.data; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -29,6 +28,7 @@ import org.apache.iceberg.avro.Avro; import org.apache.iceberg.avro.AvroIterable; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.spark.sql.catalyst.InternalRow; import org.junit.Assert; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java b/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java index bc7e54b71150..76cd5cadcfd8 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/SimpleRecord.java @@ -19,7 +19,7 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Objects; +import org.apache.iceberg.relocated.com.google.common.base.Objects; public class SimpleRecord { private Integer id; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java index 1bcf5249fd5a..0c2f4a120ee5 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.net.URI; @@ -39,6 +37,8 @@ import org.apache.iceberg.avro.AvroIterable; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.data.AvroDataTest; import org.apache.iceberg.spark.data.RandomData; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java index 802ac2027d0e..fd6290a4ae72 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.IOException; import java.util.List; import java.util.Map; @@ -35,6 +33,8 @@ import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.io.CloseableIterable; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.SnapshotUtil; import org.apache.spark.sql.Dataset; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java index 8844b38cbbaa..c0d676ec8aa9 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.sql.Timestamp; @@ -46,6 +44,8 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.data.GenericsHelpers; import org.apache.iceberg.transforms.Transform; import org.apache.iceberg.transforms.Transforms; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java index 1dc91adc728a..b7a1cdfcecca 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -41,6 +40,7 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.io.OutputFile; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.data.RandomData; import org.apache.iceberg.spark.data.TestHelpers; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java index e993256fc63e..bbd2a1b537de 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.Comparator; import java.util.List; import org.apache.avro.generic.GenericData; @@ -40,6 +37,9 @@ import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.InputFile; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.SparkTableUtil; import org.apache.iceberg.spark.data.TestHelpers; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java index 0ee2450e24d0..24fd7b2dc81f 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.io.File; import java.util.Arrays; import java.util.List; @@ -31,6 +29,8 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; @@ -159,4 +159,3 @@ public void testProjections() { } } } - diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java index e6c7621de2b0..0b430db59e6a 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; import java.io.File; import java.util.List; import org.apache.avro.generic.GenericData; @@ -32,6 +31,7 @@ import org.apache.iceberg.avro.Avro; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.io.FileAppender; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.data.RandomData; import org.apache.iceberg.spark.data.TestHelpers; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java index 4f955a7d1ee5..8d65b64cab6d 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestReadProjection.java @@ -19,17 +19,17 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.io.IOException; import java.util.List; import java.util.Map; import org.apache.iceberg.Schema; import org.apache.iceberg.data.GenericRecord; import org.apache.iceberg.data.Record; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; +import org.apache.iceberg.relocated.com.google.common.collect.Sets; import org.apache.iceberg.types.Comparators; import org.apache.iceberg.types.Types; import org.junit.Assert; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java index 051b379033a7..4a5b521b7ad0 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import org.apache.hadoop.conf.Configuration; @@ -29,6 +27,8 @@ import org.apache.iceberg.Snapshot; import org.apache.iceberg.Table; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Encoders; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java index eafe23e52dbb..8a51a7af2f91 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -34,6 +33,7 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Encoders; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java index 9abfe63f56b3..41b00918e18c 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.util.List; @@ -41,6 +39,8 @@ import org.apache.iceberg.io.FileAppender; import org.apache.iceberg.orc.ORC; import org.apache.iceberg.parquet.Parquet; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.SparkValueConverter; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.TypeUtil; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkSchema.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkSchema.java index bc52bce04658..d3c5cc4371bc 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkSchema.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkSchema.java @@ -19,7 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; import java.io.IOException; import java.util.List; import org.apache.hadoop.conf.Configuration; @@ -27,6 +26,7 @@ import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtil.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtil.java index 12cc12468993..4f86fa8a2509 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtil.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtil.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -30,6 +28,8 @@ import org.apache.iceberg.Table; import org.apache.iceberg.hadoop.HadoopTables; import org.apache.iceberg.hive.HiveTableBaseTest; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.spark.SparkSchemaUtil; import org.apache.iceberg.spark.SparkTableUtil; import org.apache.iceberg.spark.SparkTableUtil.SparkPartition; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtilWithInMemoryCatalog.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtilWithInMemoryCatalog.java index 80918e727699..f3f7e53dfb48 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtilWithInMemoryCatalog.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtilWithInMemoryCatalog.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; import java.util.List; @@ -31,6 +29,8 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.SparkTableUtil; import org.apache.iceberg.spark.SparkTableUtil.SparkPartition; import org.apache.iceberg.types.Types; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java index caade7247d27..72eeab5a283b 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.io.File; import java.io.IOException; import java.util.List; @@ -29,6 +27,8 @@ import org.apache.iceberg.Schema; import org.apache.iceberg.Table; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Iterables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; import org.apache.iceberg.types.Types; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Encoders; diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java index b9d6c9c6d125..e61d6ffb9e5e 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestTables.java @@ -19,9 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import java.io.File; import java.util.Map; import org.apache.iceberg.BaseTable; @@ -39,6 +36,9 @@ import org.apache.iceberg.io.InputFile; import org.apache.iceberg.io.LocationProvider; import org.apache.iceberg.io.OutputFile; +import org.apache.iceberg.relocated.com.google.common.base.Preconditions; +import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; // TODO: Use the copy of this from core. class TestTables { diff --git a/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java b/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java index 1eaf341764e3..efa48804646e 100644 --- a/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java +++ b/spark/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig.java @@ -19,8 +19,6 @@ package org.apache.iceberg.spark.source; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import java.io.IOException; import java.nio.ByteBuffer; import java.util.List; @@ -33,6 +31,8 @@ import org.apache.iceberg.Table; import org.apache.iceberg.TableProperties; import org.apache.iceberg.hadoop.HadoopTables; +import org.apache.iceberg.relocated.com.google.common.collect.Lists; +import org.apache.iceberg.relocated.com.google.common.collect.Maps; import org.apache.iceberg.spark.data.RandomData; import org.apache.iceberg.types.Types; import org.apache.iceberg.util.ByteBuffers; diff --git a/versions.props b/versions.props index b782d0509ee8..c01cb7917f8e 100644 --- a/versions.props +++ b/versions.props @@ -1,5 +1,4 @@ org.slf4j:slf4j-api = 1.7.22 -com.google.guava:guava = 28.0-jre org.apache.avro:avro = 1.9.2 org.apache.hadoop:* = 2.7.3 org.apache.hive:hive-metastore = 2.3.6 @@ -10,6 +9,7 @@ org.apache.spark:spark-avro_2.11 = 2.4.5 org.apache.pig:pig = 0.14.0 org.apache.commons:commons-lang3 = 3.9 com.fasterxml.jackson.*:* = 2.10.0 +com.google.guava:guava = 28.0-jre com.github.ben-manes.caffeine:caffeine = 2.7.0 org.apache.arrow:arrow-vector = 0.14.1