Skip to content

Commit e8fac63

Browse files
HDDS-14938. Implement Iceberg RewriteTablePath action (#10053)
1 parent 675410e commit e8fac63

8 files changed

Lines changed: 380 additions & 0 deletions

File tree

hadoop-ozone/dist/pom.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,19 @@
255255
</plugins>
256256
</build>
257257
<profiles>
258+
<profile>
259+
<id>jdk11-with-iceberg</id>
260+
<activation>
261+
<jdk>[11,)</jdk>
262+
</activation>
263+
<dependencies>
264+
<dependency>
265+
<groupId>org.apache.ozone</groupId>
266+
<artifactId>ozone-iceberg</artifactId>
267+
<scope>runtime</scope>
268+
</dependency>
269+
</dependencies>
270+
</profile>
258271
<profile>
259272
<id>build-with-ozonefs</id>
260273
<activation>

hadoop-ozone/dist/src/main/license/bin/LICENSE.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ Apache License 2.0
280280
com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider
281281
com.fasterxml.jackson.module:jackson-module-jaxb-annotations
282282
com.fasterxml.woodstox:woodstox-core
283+
com.github.ben-manes.caffeine:caffeine
283284
com.github.jnr:jnr-a64asm
284285
com.github.jnr:jnr-constants
285286
com.github.jnr:jnr-ffi
@@ -366,6 +367,7 @@ Apache License 2.0
366367
log4j:apache-log4j-extras
367368
net.java.dev.jna:jna
368369
net.java.dev.jna:jna-platform
370+
org.apache.avro:avro
369371
org.apache.commons:commons-compress
370372
org.apache.commons:commons-configuration2
371373
org.apache.commons:commons-collections4
@@ -384,6 +386,9 @@ Apache License 2.0
384386
org.apache.hadoop:hadoop-shaded-guava
385387
org.apache.hadoop:hadoop-shaded-protobuf_3_25
386388
org.apache.httpcomponents:httpcore
389+
org.apache.iceberg:iceberg-api
390+
org.apache.iceberg:iceberg-common
391+
org.apache.iceberg:iceberg-core
387392
org.apache.kerby:kerb-admin
388393
org.apache.kerby:kerb-client
389394
org.apache.kerby:kerb-common

hadoop-ozone/dist/src/main/license/jar-report.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ share/ozone/lib/asm.jar
1111
share/ozone/lib/asm-tree.jar
1212
share/ozone/lib/asm-util.jar
1313
share/ozone/lib/aspectjrt.jar
14+
share/ozone/lib/avro.jar
1415
share/ozone/lib/aws-java-sdk-core.jar
1516
share/ozone/lib/aws-java-sdk-kms.jar
1617
share/ozone/lib/aws-java-sdk-s3.jar
1718
share/ozone/lib/bcpkix-jdk18on.jar
1819
share/ozone/lib/bcprov-jdk18on.jar
1920
share/ozone/lib/bcutil-jdk18on.jar
2021
share/ozone/lib/bonecp.RELEASE.jar
22+
share/ozone/lib/caffeine.jar
2123
share/ozone/lib/cdi-api.SP1.jar
2224
share/ozone/lib/commons-beanutils.jar
2325
share/ozone/lib/commons-cli.jar
@@ -84,6 +86,9 @@ share/ozone/lib/hk2-utils.jar
8486
share/ozone/lib/hppc.jar
8587
share/ozone/lib/httpclient.jar
8688
share/ozone/lib/httpcore.jar
89+
share/ozone/lib/iceberg-api.jar
90+
share/ozone/lib/iceberg-common.jar
91+
share/ozone/lib/iceberg-core.jar
8792
share/ozone/lib/istack-commons-runtime.jar
8893
share/ozone/lib/j2objc-annotations.jar
8994
share/ozone/lib/jackson-annotations.jar
@@ -223,6 +228,7 @@ share/ozone/lib/ozone-filesystem-hadoop3.jar
223228
share/ozone/lib/ozone-filesystem.jar
224229
share/ozone/lib/ozone-freon.jar
225230
share/ozone/lib/ozone-httpfsgateway.jar
231+
share/ozone/lib/ozone-iceberg.jar
226232
share/ozone/lib/ozone-insight.jar
227233
share/ozone/lib/ozone-interface-client.jar
228234
share/ozone/lib/ozone-interface-storage.jar
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
7+
http://www.apache.org/licenses/LICENSE-2.0
8+
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License. See accompanying LICENSE file.
14+
-->
15+
<FindBugsFilter>
16+
</FindBugsFilter>

hadoop-ozone/iceberg/pom.xml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
7+
http://www.apache.org/licenses/LICENSE-2.0
8+
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License. See accompanying LICENSE file.
14+
-->
15+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
16+
<modelVersion>4.0.0</modelVersion>
17+
<parent>
18+
<groupId>org.apache.ozone</groupId>
19+
<artifactId>ozone</artifactId>
20+
<version>2.2.0-SNAPSHOT</version>
21+
</parent>
22+
<artifactId>ozone-iceberg</artifactId>
23+
<version>2.2.0-SNAPSHOT</version>
24+
<packaging>jar</packaging>
25+
<name>Apache Ozone Iceberg Integration</name>
26+
<description>Apache Ozone Iceberg Integration</description>
27+
28+
<properties>
29+
<classpath.skip>false</classpath.skip>
30+
<!-- Iceberg 1.10+ API is Java 11 bytecode, override parent Java 8 default. -->
31+
<maven.compiler.release>11</maven.compiler.release>
32+
</properties>
33+
34+
<dependencies>
35+
36+
<!-- Iceberg dependencies -->
37+
<dependency>
38+
<groupId>org.apache.iceberg</groupId>
39+
<artifactId>iceberg-api</artifactId>
40+
<exclusions>
41+
<exclusion>
42+
<groupId>org.apache.iceberg</groupId>
43+
<artifactId>iceberg-bundled-guava</artifactId>
44+
</exclusion>
45+
</exclusions>
46+
</dependency>
47+
<dependency>
48+
<groupId>org.apache.iceberg</groupId>
49+
<artifactId>iceberg-core</artifactId>
50+
<exclusions>
51+
<exclusion>
52+
<groupId>org.apache.httpcomponents.client5</groupId>
53+
<artifactId>httpclient5</artifactId>
54+
</exclusion>
55+
<exclusion>
56+
<groupId>org.apache.httpcomponents.core5</groupId>
57+
<artifactId>httpcore5</artifactId>
58+
</exclusion>
59+
<exclusion>
60+
<groupId>org.apache.httpcomponents.core5</groupId>
61+
<artifactId>httpcore5-h2</artifactId>
62+
</exclusion>
63+
<exclusion>
64+
<groupId>org.apache.iceberg</groupId>
65+
<artifactId>iceberg-bundled-guava</artifactId>
66+
</exclusion>
67+
<exclusion>
68+
<groupId>org.checkerframework</groupId>
69+
<artifactId>checker-qual</artifactId>
70+
</exclusion>
71+
<exclusion>
72+
<groupId>org.roaringbitmap</groupId>
73+
<artifactId>RoaringBitmap</artifactId>
74+
</exclusion>
75+
</exclusions>
76+
</dependency>
77+
</dependencies>
78+
79+
<build>
80+
<plugins>
81+
<plugin>
82+
<groupId>org.apache.maven.plugins</groupId>
83+
<artifactId>maven-compiler-plugin</artifactId>
84+
<configuration>
85+
<proc>none</proc>
86+
</configuration>
87+
</plugin>
88+
<plugin>
89+
<groupId>com.github.spotbugs</groupId>
90+
<artifactId>spotbugs-maven-plugin</artifactId>
91+
<configuration>
92+
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
93+
<fork>true</fork>
94+
<maxHeap>2048</maxHeap>
95+
</configuration>
96+
</plugin>
97+
</plugins>
98+
</build>
99+
</project>

0 commit comments

Comments
 (0)