git commit: PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi)
Repository: phoenix Updated Branches: refs/heads/master 3fd64258a -> 437bf6881 PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/437bf688 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/437bf688 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/437bf688 Branch: refs/heads/master Commit: 437bf6881eea425c28f67f148f5be6fc3093fddc Parents: 3fd6425 Author: James Taylor Authored: Sun Jun 8 00:33:20 2014 -0700 Committer: James Taylor Committed: Sun Jun 8 00:41:27 2014 -0700 -- .../phoenix/pig/PhoenixHBaseLoaderIT.java | 84 +++ .../apache/phoenix/pig/PhoenixHBaseLoader.java | 3 + .../phoenix/pig/PhoenixPigConfiguration.java| 61 +++--- .../phoenix/pig/hadoop/PhoenixInputFormat.java | 5 ++ .../phoenix/pig/hadoop/PhoenixRecordReader.java | 17 ++-- .../phoenix/pig/util/PhoenixPigSchemaUtil.java | 13 ++- .../pig/util/SqlQueryToColumnInfoFunction.java | 85 .../util/SqlQueryToColumnInfoFunctionTest.java | 75 + 8 files changed, 327 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/437bf688/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java -- diff --git a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java index 28afb9a..9f118a6 100644 --- a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java +++ b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java @@ -422,6 +422,90 @@ public class PhoenixHBaseLoaderIT { assertEquals(0, rs.getInt("MIN_SAL")); assertEquals(270, rs.getInt("MAX_SAL")); } + + /** + * Test for Sequence + * @throws Exception + */ +@Test +public void testDataForSQLQueryWithSequences() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR, AGE INTEGER) "; + +conn.createStatement().execute(ddl); + +String sequenceDdl = "CREATE SEQUENCE my_sequence"; + +conn.createStatement().execute(sequenceDdl); + +//prepare data with 10 rows having age 25 and the other 30. +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.setInt(3, (i % 2 == 0) ? 25 : 30); +stmt.execute(); +} +conn.commit(); + +//sql query load data and filter rows whose age is > 25 +final String sqlQuery = " SELECT NEXT VALUE FOR my_sequence AS my_seq,ID,NAME,AGE FROM " + TABLE_FULL_NAME + " WHERE AGE > 25"; +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int recordsRead = 0; +while (iterator.hasNext()) { +Tuple tuple = iterator.next(); +System.out.println(" the field value is "+tuple.get(1)); +recordsRead++; +} +assertEquals(rows/2, recordsRead); +} + +@Test +public void testDataForSQLQueryWithFunctions() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR) "; + +conn.createStatement().execute(ddl); + +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.execute(); +} +conn.commit(); + +//sql query +final String sqlQuery = " SELECT UPPER(NAME) AS n FROM " + TABLE_FULL_NAME + " ORDER BY ID" ; + +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int i = 0; +while (iterator.hasNext())
git commit: PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi)
Repository: phoenix Updated Branches: refs/heads/4.0 c75eae1a9 -> 2d9347e0b PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/2d9347e0 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/2d9347e0 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/2d9347e0 Branch: refs/heads/4.0 Commit: 2d9347e0ba022ebc27143348de590baf3cc1b234 Parents: c75eae1 Author: James Taylor Authored: Sun Jun 8 00:33:20 2014 -0700 Committer: James Taylor Committed: Sun Jun 8 00:34:39 2014 -0700 -- .../phoenix/pig/PhoenixHBaseLoaderIT.java | 84 +++ .../apache/phoenix/pig/PhoenixHBaseLoader.java | 3 + .../phoenix/pig/PhoenixPigConfiguration.java| 61 +++--- .../phoenix/pig/hadoop/PhoenixInputFormat.java | 5 ++ .../phoenix/pig/hadoop/PhoenixRecordReader.java | 17 ++-- .../phoenix/pig/util/PhoenixPigSchemaUtil.java | 13 ++- .../pig/util/SqlQueryToColumnInfoFunction.java | 85 .../util/SqlQueryToColumnInfoFunctionTest.java | 75 + 8 files changed, 327 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/2d9347e0/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java -- diff --git a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java index 28afb9a..9f118a6 100644 --- a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java +++ b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java @@ -422,6 +422,90 @@ public class PhoenixHBaseLoaderIT { assertEquals(0, rs.getInt("MIN_SAL")); assertEquals(270, rs.getInt("MAX_SAL")); } + + /** + * Test for Sequence + * @throws Exception + */ +@Test +public void testDataForSQLQueryWithSequences() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR, AGE INTEGER) "; + +conn.createStatement().execute(ddl); + +String sequenceDdl = "CREATE SEQUENCE my_sequence"; + +conn.createStatement().execute(sequenceDdl); + +//prepare data with 10 rows having age 25 and the other 30. +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.setInt(3, (i % 2 == 0) ? 25 : 30); +stmt.execute(); +} +conn.commit(); + +//sql query load data and filter rows whose age is > 25 +final String sqlQuery = " SELECT NEXT VALUE FOR my_sequence AS my_seq,ID,NAME,AGE FROM " + TABLE_FULL_NAME + " WHERE AGE > 25"; +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int recordsRead = 0; +while (iterator.hasNext()) { +Tuple tuple = iterator.next(); +System.out.println(" the field value is "+tuple.get(1)); +recordsRead++; +} +assertEquals(rows/2, recordsRead); +} + +@Test +public void testDataForSQLQueryWithFunctions() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR) "; + +conn.createStatement().execute(ddl); + +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.execute(); +} +conn.commit(); + +//sql query +final String sqlQuery = " SELECT UPPER(NAME) AS n FROM " + TABLE_FULL_NAME + " ORDER BY ID" ; + +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int i = 0; +while (iterator.hasNext()) { +
git commit: PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi)
Repository: phoenix Updated Branches: refs/heads/3.0 90a518e50 -> 1f895e204 PHOENIX-939 Generalize SELECT expressions for Pig Loader (Ravi) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/1f895e20 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/1f895e20 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/1f895e20 Branch: refs/heads/3.0 Commit: 1f895e204da77df6d927738790116fd09eaf6b88 Parents: 90a518e Author: James Taylor Authored: Sun Jun 8 00:33:20 2014 -0700 Committer: James Taylor Committed: Sun Jun 8 00:33:20 2014 -0700 -- .../phoenix/pig/PhoenixHBaseLoaderIT.java | 84 +++ .../apache/phoenix/pig/PhoenixHBaseLoader.java | 3 + .../phoenix/pig/PhoenixPigConfiguration.java| 61 +++--- .../phoenix/pig/hadoop/PhoenixInputFormat.java | 5 ++ .../phoenix/pig/hadoop/PhoenixRecordReader.java | 17 ++-- .../phoenix/pig/util/PhoenixPigSchemaUtil.java | 13 ++- .../pig/util/SqlQueryToColumnInfoFunction.java | 85 .../util/SqlQueryToColumnInfoFunctionTest.java | 75 + 8 files changed, 327 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/1f895e20/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java -- diff --git a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java index 28afb9a..9f118a6 100644 --- a/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java +++ b/phoenix-pig/src/it/java/org/apache/phoenix/pig/PhoenixHBaseLoaderIT.java @@ -422,6 +422,90 @@ public class PhoenixHBaseLoaderIT { assertEquals(0, rs.getInt("MIN_SAL")); assertEquals(270, rs.getInt("MAX_SAL")); } + + /** + * Test for Sequence + * @throws Exception + */ +@Test +public void testDataForSQLQueryWithSequences() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR, AGE INTEGER) "; + +conn.createStatement().execute(ddl); + +String sequenceDdl = "CREATE SEQUENCE my_sequence"; + +conn.createStatement().execute(sequenceDdl); + +//prepare data with 10 rows having age 25 and the other 30. +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.setInt(3, (i % 2 == 0) ? 25 : 30); +stmt.execute(); +} +conn.commit(); + +//sql query load data and filter rows whose age is > 25 +final String sqlQuery = " SELECT NEXT VALUE FOR my_sequence AS my_seq,ID,NAME,AGE FROM " + TABLE_FULL_NAME + " WHERE AGE > 25"; +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int recordsRead = 0; +while (iterator.hasNext()) { +Tuple tuple = iterator.next(); +System.out.println(" the field value is "+tuple.get(1)); +recordsRead++; +} +assertEquals(rows/2, recordsRead); +} + +@Test +public void testDataForSQLQueryWithFunctions() throws Exception { + + //create the table + String ddl = "CREATE TABLE " + TABLE_FULL_NAME ++ " (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR) "; + +conn.createStatement().execute(ddl); + +final String dml = "UPSERT INTO " + TABLE_FULL_NAME + " VALUES(?,?)"; +PreparedStatement stmt = conn.prepareStatement(dml); +int rows = 20; +for(int i = 0 ; i < rows; i++) { +stmt.setInt(1, i); +stmt.setString(2, "a"+i); +stmt.execute(); +} +conn.commit(); + +//sql query +final String sqlQuery = " SELECT UPPER(NAME) AS n FROM " + TABLE_FULL_NAME + " ORDER BY ID" ; + +pigServer.registerQuery(String.format( +"A = load 'hbase://query/%s' using org.apache.phoenix.pig.PhoenixHBaseLoader('%s');", sqlQuery, +zkQuorum)); + + +Iterator iterator = pigServer.openIterator("A"); +int i = 0; +while (iterator.hasNext()) { +