git commit: PHOENIX-1069: Improve CsvBulkLoadTool to build indexes when loading data.

2014-07-09 Thread jeffreyz
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.

2014-07-09 Thread jeffreyz
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.

2014-07-09 Thread jeffreyz
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