You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2018/05/03 08:18:03 UTC

carbondata git commit: [CARBONDATA-2392] Add close method for CarbonReader

Repository: carbondata
Updated Branches:
  refs/heads/master 380473b40 -> f7c0670cd


[CARBONDATA-2392] Add close method for CarbonReader

This closes #2221


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/f7c0670c
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/f7c0670c
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/f7c0670c

Branch: refs/heads/master
Commit: f7c0670cd15267d59e47446937e952374624f6df
Parents: 380473b
Author: xubo245 <60...@qq.com>
Authored: Tue Apr 24 17:59:42 2018 +0800
Committer: Jacky Li <ja...@qq.com>
Committed: Thu May 3 16:17:48 2018 +0800

----------------------------------------------------------------------
 .../examples/sdk/CarbonReaderExample.java       | 76 ++++++++++++++++++++
 .../carbondata/examples/sdk/SDKS3Example.java   |  3 +-
 .../carbondata/sdk/file/CarbonReader.java       |  9 +++
 .../carbondata/sdk/file/CarbonReaderTest.java   |  1 +
 4 files changed, 87 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/f7c0670c/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/CarbonReaderExample.java
----------------------------------------------------------------------
diff --git a/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/CarbonReaderExample.java b/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/CarbonReaderExample.java
new file mode 100644
index 0000000..8ea8604
--- /dev/null
+++ b/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/CarbonReaderExample.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.carbondata.examples.sdk;
+
+import java.io.File;
+
+import org.apache.commons.io.FileUtils;
+
+import org.apache.carbondata.core.metadata.datatype.DataTypes;
+import org.apache.carbondata.sdk.file.CarbonReader;
+import org.apache.carbondata.sdk.file.CarbonWriter;
+import org.apache.carbondata.sdk.file.Field;
+import org.apache.carbondata.sdk.file.Schema;
+
+
+/**
+ * Example fo CarbonReader with close method
+ * After readNextRow of CarbonReader, User should close the reader,
+ * otherwise main will continue run some time
+ */
+public class CarbonReaderExample {
+    public static void main(String[] args) {
+        String path = "./testWriteFiles";
+        try {
+            FileUtils.deleteDirectory(new File(path));
+
+            Field[] fields = new Field[2];
+            fields[0] = new Field("name", DataTypes.STRING);
+            fields[1] = new Field("age", DataTypes.INT);
+
+            CarbonWriter writer = CarbonWriter.builder()
+                    .withSchema(new Schema(fields))
+                    .isTransactionalTable(true)
+                    .outputPath(path)
+                    .persistSchemaFile(true)
+                    .buildWriterForCSVInput();
+
+            for (int i = 0; i < 10; i++) {
+                writer.write(new String[]{"robot" + (i % 10), String.valueOf(i)});
+            }
+            writer.close();
+
+            // Read data
+            CarbonReader reader = CarbonReader
+                    .builder(path, "_temp")
+                    .projection(new String[]{"name", "age"})
+                    .build();
+
+            System.out.println("\nData:");
+            while (reader.hasNext()) {
+                Object[] row = (Object[]) reader.readNextRow();
+                System.out.println(row[0] + " " + row[1]);
+            }
+            System.out.println("\nFinished");
+            reader.close();
+            FileUtils.deleteDirectory(new File(path));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/carbondata/blob/f7c0670c/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/SDKS3Example.java
----------------------------------------------------------------------
diff --git a/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/SDKS3Example.java b/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/SDKS3Example.java
index 60aa1f8..02247cb 100644
--- a/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/SDKS3Example.java
+++ b/examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/SDKS3Example.java
@@ -97,7 +97,6 @@ public class SDKS3Example {
             i++;
         }
         System.out.println("\nFinished");
-        // TODO
-        //        reader.close();
+        reader.close();
     }
 }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/f7c0670c/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
----------------------------------------------------------------------
diff --git a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
index 716ec2a..c9cd8f5 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
@@ -104,4 +104,13 @@ public class CarbonReader<T> {
     SchemaConverter schemaConverter = new ThriftWrapperSchemaConverterImpl();
     return schemaConverter.fromExternalToWrapperTableInfo(tableInfo, "", "", "");
   }
+
+  /**
+   * Close reader
+   *
+   * @throws IOException
+   */
+  public void close() throws IOException {
+    this.currentReader.close();
+  }
 }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/f7c0670c/store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonReaderTest.java
----------------------------------------------------------------------
diff --git a/store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonReaderTest.java b/store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonReaderTest.java
index f026499..08d6e52 100644
--- a/store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonReaderTest.java
+++ b/store/sdk/src/test/java/org/apache/carbondata/sdk/file/CarbonReaderTest.java
@@ -64,6 +64,7 @@ public class CarbonReaderTest {
     }
     Assert.assertEquals(i, 100);
 
+    reader.close();
     FileUtils.deleteDirectory(new File(path));
   }