Repository: carbondata Updated Branches: refs/heads/master 047c502b2 -> f7552a97d
[CARBONDATA-2608]Document update about Json Writer with examples. Document update about Json Writer with examples. This closes #2409 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/f7552a97 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/f7552a97 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/f7552a97 Branch: refs/heads/master Commit: f7552a97dc1fa43ca671a0399a7811eb81ff44bc Parents: 047c502 Author: ajantha-bhat <[email protected]> Authored: Mon Jun 25 14:55:41 2018 +0530 Committer: kunal642 <[email protected]> Committed: Thu Jun 28 20:41:32 2018 +0530 ---------------------------------------------------------------------- docs/sdk-guide.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/carbondata/blob/f7552a97/docs/sdk-guide.md ---------------------------------------------------------------------- diff --git a/docs/sdk-guide.md b/docs/sdk-guide.md index e04698d..b697c9e 100644 --- a/docs/sdk-guide.md +++ b/docs/sdk-guide.md @@ -112,6 +112,49 @@ public class TestSdkAvro { } ``` +### Example with Json format +```java +import java.io.IOException; + +import org.apache.carbondata.common.exceptions.sql.InvalidLoadOptionException; +import org.apache.carbondata.core.metadata.datatype.DataTypes; +import org.apache.carbondata.core.util.CarbonProperties; +import org.apache.carbondata.sdk.file.CarbonWriter; +import org.apache.carbondata.sdk.file.CarbonWriterBuilder; +import org.apache.carbondata.sdk.file.Field; +import org.apache.carbondata.sdk.file.Schema; + +public class TestSdkJson { + + public static void main(String[] args) throws InvalidLoadOptionException { + testJsonSdkWriter(); + } + + public void testJsonSdkWriter() throws InvalidLoadOptionException { + String path = "./target/testJsonSdkWriter"; + + Field[] fields = new Field[2]; + fields[0] = new Field("name", DataTypes.STRING); + fields[1] = new Field("age", DataTypes.INT); + + Schema CarbonSchema = new Schema(fields); + + CarbonWriterBuilder builder = CarbonWriter.builder().outputPath(path); + + // initialize json writer with carbon schema + CarbonWriter writer = builder.buildWriterForJsonInput(CarbonSchema); + // one row of json Data as String + String JsonRow = "{\"name\":\"abcd\", \"age\":10}"; + + int rows = 5; + for (int i = 0; i < rows; i++) { + writer.write(JsonRow); + } + writer.close(); + } +} +``` + ## Datatypes Mapping Each of SQL data types are mapped into data types of SDK. Following are the mapping: @@ -294,12 +337,25 @@ public CarbonWriter buildWriterForCSVInput() throws IOException, InvalidLoadOpti public CarbonWriter buildWriterForAvroInput() throws IOException, InvalidLoadOptionException; ``` +``` +/** +* Build a {@link CarbonWriter}, which accepts Json object +* @param carbonSchema carbon Schema object +* @return JsonCarbonWriter +* @throws IOException +* @throws InvalidLoadOptionException +*/ +public JsonCarbonWriter buildWriterForJsonInput(Schema carbonSchema); +``` + ### Class org.apache.carbondata.sdk.file.CarbonWriter ``` /** * Write an object to the file, the format of the object depends on the implementation -* If AvroCarbonWriter, object is of type org.apache.avro.generic.GenericData.Record -* If CSVCarbonWriter, object is of type String[] +* If AvroCarbonWriter, object is of type org.apache.avro.generic.GenericData.Record, +* which is one row of data. +* If CSVCarbonWriter, object is of type String[], which is one row of data +* If JsonCarbonWriter, object is of type String, which is one row of json * Note: This API is not thread safe * @param object * @throws IOException
