From 598d685ac271bf318764d698bb4f1102a5786ec4 Mon Sep 17 00:00:00 2001 From: jingzhang Date: Fri, 17 Mar 2017 20:51:37 +0800 Subject: [PATCH 1/4] Introduce interface for external catalog, and provide an in-memory implementation for test or develop. Integrate with calcite catalog. --- flink-libraries/flink-table/pom.xml | 20 ++- .../flink/table/annotation/TableType.java | 45 +++++ .../resources/tableSourceConverter.properties | 19 +++ .../apache/flink/table/api/exceptions.scala | 94 +++++++++++ .../table/catalog/CRUDExternalCatalog.scala | 110 +++++++++++++ .../catalog/ExternalCatalogDatabase.scala | 31 ++++ .../table/catalog/ExternalCatalogSchema.scala | 155 ++++++++++++++++++ .../table/catalog/ExternalCatalogTable.scala | 76 +++++++++ .../catalog/ExternalTableSourceUtil.scala | 146 +++++++++++++++++ .../catalog/InMemoryExternalCatalog.scala | 155 ++++++++++++++++++ .../catalog/ReadonlyExternalCatalog.scala | 72 ++++++++ .../table/catalog/TableSourceConverter.scala | 48 ++++++ .../sources/CsvTableSourceConverter.scala | 73 +++++++++ .../catalog/ExternalCatalogSchemaTest.scala | 88 ++++++++++ .../catalog/InMemoryExternalCatalogTest.scala | 145 ++++++++++++++++ .../flink/table/utils/CommonTestData.scala | 89 +++++++++- 16 files changed, 1357 insertions(+), 9 deletions(-) create mode 100644 flink-libraries/flink-table/src/main/java/org/apache/flink/table/annotation/TableType.java create mode 100644 flink-libraries/flink-table/src/main/resources/tableSourceConverter.properties create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/CRUDExternalCatalog.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/ExternalCatalogDatabase.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/ExternalCatalogSchema.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/ExternalCatalogTable.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/ExternalTableSourceUtil.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/InMemoryExternalCatalog.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/ReadonlyExternalCatalog.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/catalog/TableSourceConverter.scala create mode 100644 flink-libraries/flink-table/src/main/scala/org/apache/flink/table/sources/CsvTableSourceConverter.scala create mode 100644 flink-libraries/flink-table/src/test/scala/org/apache/flink/table/catalog/ExternalCatalogSchemaTest.scala create mode 100644 flink-libraries/flink-table/src/test/scala/org/apache/flink/table/catalog/InMemoryExternalCatalogTest.scala diff --git a/flink-libraries/flink-table/pom.xml b/flink-libraries/flink-table/pom.xml index b26fe542acd35..a2945e87d294e 100644 --- a/flink-libraries/flink-table/pom.xml +++ b/flink-libraries/flink-table/pom.xml @@ -92,6 +92,22 @@ under the License. + + org.reflections + reflections + 0.9.10 + + + com.google.code.findbugs + annotations + + + com.google.guava + guava + + + compile + @@ -178,7 +194,8 @@ under the License. org.apache.calcite:* org.apache.calcite.avatica:* net.hydromatic:* - + org.reflections:* +