diff --git a/build.gradle b/build.gradle index da92173..1e294f7 100644 --- a/build.gradle +++ b/build.gradle @@ -10,6 +10,7 @@ repositories { ext { icebergVersion = '1.3.1' awsSdkVersion = '2.20.18' + hadoopVersion = '3.3.4' } dependencies { @@ -19,8 +20,8 @@ dependencies { implementation "org.apache.iceberg:iceberg-aws:${icebergVersion}" implementation "org.apache.iceberg:iceberg-bundled-guava:${icebergVersion}" - implementation 'org.apache.hadoop:hadoop-common:3.3.4' - implementation 'org.apache.hadoop:hadoop-hdfs-client:3.3.4' + implementation "org.apache.hadoop:hadoop-common:${hadoopVersion}" + implementation "org.apache.hadoop:hadoop-hdfs-client:${hadoopVersion}" runtimeOnly "software.amazon.awssdk:url-connection-client:${awsSdkVersion}" runtimeOnly "software.amazon.awssdk:apache-client:${awsSdkVersion}" @@ -37,6 +38,16 @@ dependencies { implementation 'org.xerial:sqlite-jdbc:3.43.0.0' implementation 'org.postgresql:postgresql:42.5.4' + + // Hive Metastore Dependencies + implementation "org.apache.iceberg:iceberg-hive-metastore:${icebergVersion}" + implementation "org.apache.hive:hive-metastore:3.1.3" + implementation "org.apache.hadoop:hadoop-mapreduce-client-core:${hadoopVersion}" + constraints { + implementation('org.eclipse.jetty:jetty-servlet:9.4.52.v20230823') { + because 'backwards incompatible changes in earlier versions' + } + } } jar { diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ee83ef8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + iceberg-rest-catalog: + build: . + image: tabulario/iceberg-rest + ports: + - 8181:8181 + environment: + CATALOG_CATALOG__IMPL: org.apache.iceberg.hive.HiveCatalog + CATALOG_URI: thrift://host.docker.internal:9083