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

    https://github.com/apache/carbondata/pull/2181#discussion_r184649184
  
    --- Diff: 
examples/spark2/src/main/scala/org/apache/carbondata/examples/DirectSQLExample.scala
 ---
    @@ -0,0 +1,114 @@
    +/*
    + * 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
    +
    +import java.io.File
    +
    +import org.apache.commons.io.FileUtils
    +
    +import org.apache.carbondata.core.metadata.datatype.DataTypes
    +import org.apache.carbondata.examples.util.ExampleUtils
    +import org.apache.carbondata.sdk.file.{CarbonWriter, Field, Schema}
    +
    +/**
    + * Running SQL on carbondata files directly
    + */
    +object DirectSQLExample {
    +
    +  // prepare SDK writer output
    +  def buildTestData(
    +      path: String,
    +      num: Int = 3,
    +      persistSchema: Boolean = false): Any = {
    +
    +    // getCanonicalPath gives path with \, so code expects /. Need to 
handle in code ?
    +    val writerPath = path.replace("\\", "/");
    +
    +    val fields: Array[Field] = new Array[Field](3)
    +    fields(0) = new Field("name", DataTypes.STRING)
    +    fields(1) = new Field("age", DataTypes.INT)
    +    fields(2) = new Field("height", DataTypes.DOUBLE)
    +
    +    try {
    +      val builder = CarbonWriter
    +        .builder()
    +        .withSchema(new Schema(fields))
    +        .outputPath(writerPath)
    +        .isTransactionalTable(true)
    +        .uniqueIdentifier(System.currentTimeMillis)
    +      val writer =
    +        if (persistSchema) {
    --- End diff --
    
    I mean you can add 
    ```
    if (persistSchema) {
              builder.persistSchemaFile(true)
    }
    ```
    separately


---

Reply via email to