You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2021/01/11 18:23:10 UTC
[iceberg] branch master updated: Core: Add HadoopTables.exists
(#2056)
This is an automated email from the ASF dual-hosted git repository.
blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/master by this push:
new 242c91c Core: Add HadoopTables.exists (#2056)
242c91c is described below
commit 242c91cf8e0639eccc48c629a8c9c6af51f62d79
Author: Nan Zhu <Co...@users.noreply.github.com>
AuthorDate: Mon Jan 11 10:22:53 2021 -0800
Core: Add HadoopTables.exists (#2056)
---
api/src/main/java/org/apache/iceberg/Tables.java | 2 ++
core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java | 5 +++++
.../test/java/org/apache/iceberg/hadoop/TestHadoopTables.java | 10 ++++++++++
mr/src/test/java/org/apache/iceberg/mr/hive/TestTables.java | 5 +++++
4 files changed, 22 insertions(+)
diff --git a/api/src/main/java/org/apache/iceberg/Tables.java b/api/src/main/java/org/apache/iceberg/Tables.java
index e88ece0..1c1daaf 100644
--- a/api/src/main/java/org/apache/iceberg/Tables.java
+++ b/api/src/main/java/org/apache/iceberg/Tables.java
@@ -50,4 +50,6 @@ public interface Tables {
}
Table load(String tableIdentifier);
+
+ boolean exists(String tableIdentifier);
}
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 9a856b2..dc1a2d2 100644
--- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java
+++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopTables.java
@@ -94,6 +94,11 @@ public class HadoopTables implements Tables, Configurable {
return result;
}
+ @Override
+ public boolean exists(String location) {
+ return newTableOps(location).current() != null;
+ }
+
/**
* Try to resolve a metadata table, which we encode as URI fragments
* e.g. hdfs:///warehouse/my_table#snapshots
diff --git a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopTables.java b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopTables.java
index c3d0918..256aec0 100644
--- a/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopTables.java
+++ b/core/src/test/java/org/apache/iceberg/hadoop/TestHadoopTables.java
@@ -66,6 +66,16 @@ public class TestHadoopTables {
}
@Test
+ public void testTableExists() {
+ Assert.assertFalse(TABLES.exists(tableDir.toURI().toString()));
+ PartitionSpec spec = PartitionSpec.builderFor(SCHEMA)
+ .bucket("data", 16)
+ .build();
+ TABLES.create(SCHEMA, spec, tableDir.toURI().toString());
+ Assert.assertTrue(TABLES.exists(tableDir.toURI().toString()));
+ }
+
+ @Test
public void testDropTable() {
TABLES.create(SCHEMA, tableDir.toURI().toString());
TABLES.dropTable(tableDir.toURI().toString());
diff --git a/mr/src/test/java/org/apache/iceberg/mr/hive/TestTables.java b/mr/src/test/java/org/apache/iceberg/mr/hive/TestTables.java
index 94efe42..a8f4ee8 100644
--- a/mr/src/test/java/org/apache/iceberg/mr/hive/TestTables.java
+++ b/mr/src/test/java/org/apache/iceberg/mr/hive/TestTables.java
@@ -222,6 +222,11 @@ abstract class TestTables {
public Table load(String tableIdentifier) {
return catalog.loadTable(TableIdentifier.parse(tableIdentifier));
}
+
+ @Override
+ public boolean exists(String tableIdentifier) {
+ return catalog.tableExists(TableIdentifier.parse(tableIdentifier));
+ }
}
static class CustomCatalogTestTables extends TestTables {