Github user jackylk commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2356#discussion_r192281824
  
    --- Diff: 
examples/spark2/src/main/java/org/apache/carbondata/examples/sdk/CarbonReaderExample.java
 ---
    @@ -39,36 +42,89 @@ public static void main(String[] args) {
             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);
    +            Field[] fields = new Field[9];
    +            fields[0] = new Field("stringField", DataTypes.STRING);
    +            fields[1] = new Field("shortField", DataTypes.SHORT);
    +            fields[2] = new Field("intField", DataTypes.INT);
    +            fields[3] = new Field("longField", DataTypes.LONG);
    +            fields[4] = new Field("doubleField", DataTypes.DOUBLE);
    +            fields[5] = new Field("boolField", DataTypes.BOOLEAN);
    +            fields[6] = new Field("dateField", DataTypes.DATE);
    +            fields[7] = new Field("timeField", DataTypes.TIMESTAMP);
    +            fields[8] = new Field("decimalField", 
DataTypes.createDecimalType(8, 2));
     
                 CarbonWriter writer = CarbonWriter.builder()
    -                    .outputPath(path)
    -                    .persistSchemaFile(true)
    -                    .buildWriterForCSVInput(new Schema(fields));
    +                .outputPath(path)
    +                .buildWriterForCSVInput(new Schema(fields));
     
                 for (int i = 0; i < 10; i++) {
    -                writer.write(new String[]{"robot" + (i % 10), 
String.valueOf(i)});
    +                String[] row2 = new String[]{
    +                    "robot" + (i % 10),
    +                    String.valueOf(i),
    +                    String.valueOf(i),
    +                    String.valueOf(Long.MAX_VALUE - i),
    +                    String.valueOf((double) i / 2),
    +                    String.valueOf(true),
    +                    "2019-03-02",
    +                    "2019-02-12 03:03:34",
    +                    "12.345"
    +                };
    +                writer.write(row2);
                 }
                 writer.close();
     
    +            File[] dataFiles = new File(path).listFiles(new 
FilenameFilter() {
    +                @Override
    +                public boolean accept(File dir, String name) {
    +                    if (name == null) {
    +                        return false;
    +                    }
    +                    return name.endsWith("carbonindex");
    +                }
    +            });
    +            if (dataFiles == null || dataFiles.length < 1) {
    +                throw new RuntimeException("Carbon index file not 
exists.");
    +            }
    +            Schema schema = CarbonSchemaReader
    +                .readSchemaInIndexFile(dataFiles[0].getAbsolutePath())
    +                .asOriginOrder();
    +            // Transform the schema
    +            String[] strings = new String[schema.getFields().length];
    +            for (int i = 0; i < schema.getFields().length; i++) {
    +                strings[i] = (schema.getFields())[i].getFieldName();
    +            }
    +
                 // Read data
                 CarbonReader reader = CarbonReader
    -                    .builder(path, "_temp")
    -                    .projection(new String[]{"name", "age"})
    -                    .build();
    +                .builder(path, "_temp")
    +                .projection(strings)
    +                .build();
     
                 System.out.println("\nData:");
    +            long day = 24L * 3600 * 1000;
    +            int i = 0;
                 while (reader.hasNext()) {
                     Object[] row = (Object[]) reader.readNextRow();
    -                System.out.println(row[0] + " " + row[1]);
    +                System.out.println(
    +                    i + ":\t" +
    --- End diff --
    
    change to use `String.format`


---

Reply via email to