git commit: PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data.
Repository: phoenix Updated Branches: refs/heads/3.0 ec1b76ab2 -> 94644d5b7 PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/94644d5b Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/94644d5b Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/94644d5b Branch: refs/heads/3.0 Commit: 94644d5b7215551147c03adcae4721680b3ef407 Parents: ec1b76a Author: Jeffrey Zhong Authored: Wed Jul 9 16:08:46 2014 -0700 Committer: Jeffrey Zhong Committed: Wed Jul 9 17:13:31 2014 -0700 -- .../phoenix/mapreduce/CsvBulkLoadToolIT.java| 73 +++ .../phoenix/mapreduce/CsvBulkLoadTool.java | 207 ++- .../phoenix/mapreduce/CsvToKeyValueMapper.java | 16 +- 3 files changed, 249 insertions(+), 47 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/94644d5b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java index 744b5d6..d4a80a2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java @@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; @@ -143,4 +144,76 @@ public class CsvBulkLoadToolIT { rs.close(); stmt.close(); } + +@Test +public void testImportWithIndex() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE3 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE3_IDX ON TABLE3 " ++ " (FIRST_NAME ASC)" ++ " INCLUDE (LAST_NAME)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input3.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input3.csv", +"--table", "table3", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT id, FIRST_NAME FROM TABLE3 where first_name='FirstName 2'"); +assertTrue(rs.next()); +assertEquals(2, rs.getInt(1)); +assertEquals("FirstName 2", rs.getString(2)); + +rs.close(); +stmt.close(); +} + +@Test +public void testImportOneIndexTable() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE4 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE4_IDX ON TABLE4 " ++ " (FIRST_NAME ASC)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input4.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input4.csv", +"--table", "table4", +"--index-table", "TABLE4_IDX", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT * FROM TABLE4"); +assertFalse(rs.next()); +rs = stmt.executeQuery("SELECT FIRST_NAME FROM TABLE4 where FIRST_NAME='FirstName 1'"); +assertTrue(rs.next()); +assertEquals("FirstName 1", rs.getString(1)); + +rs.close(); +stmt.close(); +} + } http://git-wip-us.apache.org/repos/as
git commit: PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data.
Repository: phoenix Updated Branches: refs/heads/4.0 2625274eb -> 8dfda14ae PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/8dfda14a Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/8dfda14a Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/8dfda14a Branch: refs/heads/4.0 Commit: 8dfda14ae1e4db9d76d3a1cdd0c3a35c0afed503 Parents: 2625274 Author: Jeffrey Zhong Authored: Wed Jul 9 16:08:46 2014 -0700 Committer: Jeffrey Zhong Committed: Wed Jul 9 16:18:29 2014 -0700 -- .../phoenix/mapreduce/CsvBulkLoadToolIT.java| 73 +++ .../phoenix/mapreduce/CsvBulkLoadTool.java | 207 ++- .../phoenix/mapreduce/CsvToKeyValueMapper.java | 18 +- 3 files changed, 250 insertions(+), 48 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/8dfda14a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java index 744b5d6..d4a80a2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java @@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; @@ -143,4 +144,76 @@ public class CsvBulkLoadToolIT { rs.close(); stmt.close(); } + +@Test +public void testImportWithIndex() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE3 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE3_IDX ON TABLE3 " ++ " (FIRST_NAME ASC)" ++ " INCLUDE (LAST_NAME)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input3.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input3.csv", +"--table", "table3", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT id, FIRST_NAME FROM TABLE3 where first_name='FirstName 2'"); +assertTrue(rs.next()); +assertEquals(2, rs.getInt(1)); +assertEquals("FirstName 2", rs.getString(2)); + +rs.close(); +stmt.close(); +} + +@Test +public void testImportOneIndexTable() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE4 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE4_IDX ON TABLE4 " ++ " (FIRST_NAME ASC)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input4.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input4.csv", +"--table", "table4", +"--index-table", "TABLE4_IDX", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT * FROM TABLE4"); +assertFalse(rs.next()); +rs = stmt.executeQuery("SELECT FIRST_NAME FROM TABLE4 where FIRST_NAME='FirstName 1'"); +assertTrue(rs.next()); +assertEquals("FirstName 1", rs.getString(1)); + +rs.close(); +stmt.close(); +} + } http://git-wip-us.apache.org/repos/as
git commit: PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data.
Repository: phoenix Updated Branches: refs/heads/master 61c948b73 -> 9bb0b01f6 PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/9bb0b01f Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/9bb0b01f Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/9bb0b01f Branch: refs/heads/master Commit: 9bb0b01f68e5da104810c3f1e3adb04ec2ba491f Parents: 61c948b Author: Jeffrey Zhong Authored: Wed Jul 9 16:08:46 2014 -0700 Committer: Jeffrey Zhong Committed: Wed Jul 9 16:08:46 2014 -0700 -- .../phoenix/mapreduce/CsvBulkLoadToolIT.java| 73 +++ .../phoenix/mapreduce/CsvBulkLoadTool.java | 207 ++- .../phoenix/mapreduce/CsvToKeyValueMapper.java | 18 +- 3 files changed, 250 insertions(+), 48 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/9bb0b01f/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java index 744b5d6..d4a80a2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/mapreduce/CsvBulkLoadToolIT.java @@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; @@ -143,4 +144,76 @@ public class CsvBulkLoadToolIT { rs.close(); stmt.close(); } + +@Test +public void testImportWithIndex() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE3 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE3_IDX ON TABLE3 " ++ " (FIRST_NAME ASC)" ++ " INCLUDE (LAST_NAME)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input3.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input3.csv", +"--table", "table3", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT id, FIRST_NAME FROM TABLE3 where first_name='FirstName 2'"); +assertTrue(rs.next()); +assertEquals(2, rs.getInt(1)); +assertEquals("FirstName 2", rs.getString(2)); + +rs.close(); +stmt.close(); +} + +@Test +public void testImportOneIndexTable() throws Exception { + +Statement stmt = conn.createStatement(); +stmt.execute("CREATE TABLE TABLE4 (ID INTEGER NOT NULL PRIMARY KEY, " + +"FIRST_NAME VARCHAR, LAST_NAME VARCHAR)"); +String ddl = "CREATE INDEX TABLE4_IDX ON TABLE4 " ++ " (FIRST_NAME ASC)"; +stmt.execute(ddl); + +FileSystem fs = FileSystem.get(hbaseTestUtil.getConfiguration()); +FSDataOutputStream outputStream = fs.create(new Path("/tmp/input4.csv")); +PrintWriter printWriter = new PrintWriter(outputStream); +printWriter.println("1,FirstName 1,LastName 1"); +printWriter.println("2,FirstName 2,LastName 2"); +printWriter.close(); + +CsvBulkLoadTool csvBulkLoadTool = new CsvBulkLoadTool(); +csvBulkLoadTool.setConf(hbaseTestUtil.getConfiguration()); +int exitCode = csvBulkLoadTool.run(new String[] { +"--input", "/tmp/input4.csv", +"--table", "table4", +"--index-table", "TABLE4_IDX", +"--zookeeper", zkQuorum}); +assertEquals(0, exitCode); + +ResultSet rs = stmt.executeQuery("SELECT * FROM TABLE4"); +assertFalse(rs.next()); +rs = stmt.executeQuery("SELECT FIRST_NAME FROM TABLE4 where FIRST_NAME='FirstName 1'"); +assertTrue(rs.next()); +assertEquals("FirstName 1", rs.getString(1)); + +rs.close(); +stmt.close(); +} + } http://git-wip-us.apache.org/re