You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by bl...@apache.org on 2019/12/25 19:16:38 UTC

[flink] branch release-1.10 updated: [FLINK-15342][hive] add IT for querying Hive view

This is an automated email from the ASF dual-hosted git repository.

bli pushed a commit to branch release-1.10
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.10 by this push:
     new e999c6a  [FLINK-15342][hive] add IT for querying Hive view
e999c6a is described below

commit e999c6ad80b9f0c1e289db1a3fe3fc36b6a6e9ed
Author: Rui Li <li...@apache.org>
AuthorDate: Fri Dec 20 15:58:07 2019 +0800

    [FLINK-15342][hive] add IT for querying Hive view
    
    this closes #10643.
---
 .../connectors/hive/TableEnvHiveConnectorTest.java | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/TableEnvHiveConnectorTest.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/TableEnvHiveConnectorTest.java
index 7b5bac7..8eb6bf0 100644
--- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/TableEnvHiveConnectorTest.java
+++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/TableEnvHiveConnectorTest.java
@@ -448,6 +448,41 @@ public class TableEnvHiveConnectorTest {
 		}
 	}
 
+	@Test
+	public void testViews() throws Exception {
+		hiveShell.execute("create database db1");
+		try {
+			hiveShell.execute("create table db1.src (key int,val string)");
+			HiveTestUtils.createTextTableInserter(hiveShell, "db1", "src")
+					.addRow(new Object[]{1, "a"})
+					.addRow(new Object[]{1, "aa"})
+					.addRow(new Object[]{1, "aaa"})
+					.addRow(new Object[]{2, "b"})
+					.addRow(new Object[]{3, "c"})
+					.addRow(new Object[]{3, "ccc"})
+					.commit();
+			hiveShell.execute("create table db1.keys (key int,name string)");
+			HiveTestUtils.createTextTableInserter(hiveShell, "db1", "keys")
+					.addRow(new Object[]{1, "key1"})
+					.addRow(new Object[]{2, "key2"})
+					.addRow(new Object[]{3, "key3"})
+					.addRow(new Object[]{4, "key4"})
+					.commit();
+			hiveShell.execute("create view db1.v1 as select key as k,val as v from db1.src limit 2");
+			hiveShell.execute("create view db1.v2 as select key,count(*) from db1.src group by key having count(*)>1 order by key");
+			hiveShell.execute("create view db1.v3 as select k.key,k.name,count(*) from db1.src s join db1.keys k on s.key=k.key group by k.key,k.name order by k.key");
+			TableEnvironment tableEnv = getTableEnvWithHiveCatalog();
+			List<Row> results = HiveTestUtils.collectTable(tableEnv, tableEnv.sqlQuery("select count(v) from db1.v1"));
+			assertEquals("[2]", results.toString());
+			results = HiveTestUtils.collectTable(tableEnv, tableEnv.sqlQuery("select * from db1.v2"));
+			assertEquals("[1,3, 3,2]", results.toString());
+			results = HiveTestUtils.collectTable(tableEnv, tableEnv.sqlQuery("select * from db1.v3"));
+			assertEquals("[1,key1,3, 2,key2,1, 3,key3,2]", results.toString());
+		} finally {
+			hiveShell.execute("drop database db1 cascade");
+		}
+	}
+
 	private TableEnvironment getTableEnvWithHiveCatalog() {
 		TableEnvironment tableEnv = HiveTestUtils.createTableEnvWithBlinkPlannerBatchMode();
 		tableEnv.registerCatalog(hiveCatalog.getName(), hiveCatalog);