| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <link href='images/favicon.ico' rel='shortcut icon' type='image/x-icon'> |
| <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> |
| <title>CarbonData</title> |
| <style> |
| |
| </style> |
| <!-- Bootstrap --> |
| |
| <link rel="stylesheet" href="css/bootstrap.min.css"> |
| <link href="css/style.css" rel="stylesheet"> |
| <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
| <!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
| <script src="https://oss.maxcdn.scom/respond/1.4.2/respond.min.js"></script> |
| <![endif]--> |
| <script src="js/jquery.min.js"></script> |
| <script src="js/bootstrap.min.js"></script> |
| <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script> |
| |
| |
| </head> |
| <body> |
| <header> |
| <nav class="navbar navbar-default navbar-custom cd-navbar-wrapper"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button aria-controls="navbar" aria-expanded="false" data-target="#navbar" data-toggle="collapse" |
| class="navbar-toggle collapsed" type="button"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <a href="index.html" class="logo"> |
| <img src="images/CarbonDataLogo.png" alt="CarbonData logo" title="CarbocnData logo"/> |
| </a> |
| </div> |
| <div class="navbar-collapse collapse cd_navcontnt" id="navbar"> |
| <ul class="nav navbar-nav navbar-right navlist-custom"> |
| <li><a href="index.html" class="hidden-xs"><i class="fa fa-home" aria-hidden="true"></i> </a> |
| </li> |
| <li><a href="index.html" class="hidden-lg hidden-md hidden-sm">Home</a></li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle " data-toggle="dropdown" role="button" aria-haspopup="true" |
| aria-expanded="false"> Download <span class="caret"></span></a> |
| <ul class="dropdown-menu"> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/2.2.0/" |
| target="_blank">Apache CarbonData 2.2.0</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/2.1.1/" |
| target="_blank">Apache CarbonData 2.1.1</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/2.1.0/" |
| target="_blank">Apache CarbonData 2.1.0</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/2.0.1/" |
| target="_blank">Apache CarbonData 2.0.1</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/2.0.0/" |
| target="_blank">Apache CarbonData 2.0.0</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.6.1/" |
| target="_blank">Apache CarbonData 1.6.1</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.6.0/" |
| target="_blank">Apache CarbonData 1.6.0</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.5.4/" |
| target="_blank">Apache CarbonData 1.5.4</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.5.3/" |
| target="_blank">Apache CarbonData 1.5.3</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.5.2/" |
| target="_blank">Apache CarbonData 1.5.2</a></li> |
| <li> |
| <a href="https://dist.apache.org/repos/dist/release/carbondata/1.5.1/" |
| target="_blank">Apache CarbonData 1.5.1</a></li> |
| <li> |
| <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/Releases" |
| target="_blank">Release Archive</a></li> |
| </ul> |
| </li> |
| <li><a href="documentation.html" class="active">Documentation</a></li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" |
| aria-expanded="false">Community <span class="caret"></span></a> |
| <ul class="dropdown-menu"> |
| <li> |
| <a href="https://github.com/apache/carbondata/blob/master/docs/how-to-contribute-to-apache-carbondata.md" |
| target="_blank">Contributing to CarbonData</a></li> |
| <li> |
| <a href="https://github.com/apache/carbondata/blob/master/docs/release-guide.md" |
| target="_blank">Release Guide</a></li> |
| <li> |
| <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/PMC+and+Committers+member+list" |
| target="_blank">Project PMC and Committers</a></li> |
| <li> |
| <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=66850609" |
| target="_blank">CarbonData Meetups</a></li> |
| <li><a href="security.html">Apache CarbonData Security</a></li> |
| <li><a href="https://issues.apache.org/jira/browse/CARBONDATA" target="_blank">Apache |
| Jira</a></li> |
| <li><a href="videogallery.html">CarbonData Videos </a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="http://www.apache.org/" class="apache_link hidden-xs dropdown-toggle" |
| data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache</a> |
| <ul class="dropdown-menu"> |
| <li><a href="http://www.apache.org/" target="_blank">Apache Homepage</a></li> |
| <li><a href="http://www.apache.org/licenses/" target="_blank">License</a></li> |
| <li><a href="http://www.apache.org/foundation/sponsorship.html" |
| target="_blank">Sponsorship</a></li> |
| <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li> |
| </ul> |
| </li> |
| |
| <li class="dropdown"> |
| <a href="http://www.apache.org/" class="hidden-lg hidden-md hidden-sm dropdown-toggle" |
| data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache</a> |
| <ul class="dropdown-menu"> |
| <li><a href="http://www.apache.org/" target="_blank">Apache Homepage</a></li> |
| <li><a href="http://www.apache.org/licenses/" target="_blank">License</a></li> |
| <li><a href="http://www.apache.org/foundation/sponsorship.html" |
| target="_blank">Sponsorship</a></li> |
| <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li> |
| </ul> |
| </li> |
| |
| <li> |
| <a href="#" id="search-icon"><i class="fa fa-search" aria-hidden="true"></i></a> |
| |
| </li> |
| |
| </ul> |
| </div><!--/.nav-collapse --> |
| <div id="search-box"> |
| <form method="get" action="http://www.google.com/search" target="_blank"> |
| <div class="search-block"> |
| <table border="0" cellpadding="0" width="100%"> |
| <tr> |
| <td style="width:80%"> |
| <input type="text" name="q" size=" 5" maxlength="255" value="" |
| class="search-input" placeholder="Search...." required/> |
| </td> |
| <td style="width:20%"> |
| <input type="submit" value="Search"/></td> |
| </tr> |
| <tr> |
| <td align="left" style="font-size:75%" colspan="2"> |
| <input type="checkbox" name="sitesearch" value="carbondata.apache.org" checked/> |
| <span style=" position: relative; top: -3px;"> Only search for CarbonData</span> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| </header> <!-- end Header part --> |
| |
| <div class="fixed-padding"></div> <!-- top padding with fixde header --> |
| |
| <section><!-- Dashboard nav --> |
| <div class="container-fluid q"> |
| <div class="col-sm-12 col-md-12 maindashboard"> |
| <div class="verticalnavbar"> |
| <nav class="b-sticky-nav"> |
| <div class="nav-scroller"> |
| <div class="nav__inner"> |
| <a class="b-nav__intro nav__item" href="./introduction.html">introduction</a> |
| <a class="b-nav__quickstart nav__item" href="./quick-start-guide.html">quick start</a> |
| <a class="b-nav__uses nav__item" href="./usecases.html">use cases</a> |
| |
| <div class="nav__item nav__item__with__subs"> |
| <a class="b-nav__docs nav__item nav__sub__anchor" href="./language-manual.html">Language Reference</a> |
| <a class="nav__item nav__sub__item" href="./ddl-of-carbondata.html">DDL</a> |
| <a class="nav__item nav__sub__item" href="./dml-of-carbondata.html">DML</a> |
| <a class="nav__item nav__sub__item" href="./streaming-guide.html">Streaming</a> |
| <a class="nav__item nav__sub__item" href="./configuration-parameters.html">Configuration</a> |
| <a class="nav__item nav__sub__item" href="./index-developer-guide.html">Indexes</a> |
| <a class="nav__item nav__sub__item" href="./supported-data-types-in-carbondata.html">Data Types</a> |
| </div> |
| |
| <div class="nav__item nav__item__with__subs"> |
| <a class="b-nav__datamap nav__item nav__sub__anchor" href="./index-management.html">Index Managament</a> |
| <a class="nav__item nav__sub__item" href="./bloomfilter-index-guide.html">Bloom Filter</a> |
| <a class="nav__item nav__sub__item" href="./lucene-index-guide.html">Lucene</a> |
| <a class="nav__item nav__sub__item" href="./secondary-index-guide.html">Secondary Index</a> |
| <a class="nav__item nav__sub__item" href="../spatial-index-guide.html">Spatial Index</a> |
| <a class="nav__item nav__sub__item" href="../mv-guide.html">MV</a> |
| </div> |
| |
| <div class="nav__item nav__item__with__subs"> |
| <a class="b-nav__api nav__item nav__sub__anchor" href="./sdk-guide.html">API</a> |
| <a class="nav__item nav__sub__item" href="./sdk-guide.html">Java SDK</a> |
| <a class="nav__item nav__sub__item" href="./csdk-guide.html">C++ SDK</a> |
| </div> |
| |
| <a class="b-nav__perf nav__item" href="./performance-tuning.html">Performance Tuning</a> |
| <a class="b-nav__s3 nav__item" href="./s3-guide.html">S3 Storage</a> |
| <a class="b-nav__indexserver nav__item" href="./index-server.html">Index Server</a> |
| <a class="b-nav__prestodb nav__item" href="./prestodb-guide.html">PrestoDB Integration</a> |
| <a class="b-nav__prestosql nav__item" href="./prestosql-guide.html">PrestoSQL Integration</a> |
| <a class="b-nav__flink nav__item" href="./flink-integration-guide.html">Flink Integration</a> |
| <a class="b-nav__scd nav__item" href="./scd-and-cdc-guide.html">SCD & CDC</a> |
| <a class="b-nav__faq nav__item" href="./faq.html">FAQ</a> |
| <a class="b-nav__contri nav__item" href="./how-to-contribute-to-apache-carbondata.html">Contribute</a> |
| <a class="b-nav__security nav__item" href="./security.html">Security</a> |
| <a class="b-nav__release nav__item" href="./release-guide.html">Release Guide</a> |
| </div> |
| </div> |
| <div class="navindicator"> |
| <div class="b-nav__intro navindicator__item"></div> |
| <div class="b-nav__quickstart navindicator__item"></div> |
| <div class="b-nav__uses navindicator__item"></div> |
| <div class="b-nav__docs navindicator__item"></div> |
| <div class="b-nav__datamap navindicator__item"></div> |
| <div class="b-nav__api navindicator__item"></div> |
| <div class="b-nav__perf navindicator__item"></div> |
| <div class="b-nav__s3 navindicator__item"></div> |
| <div class="b-nav__indexserver navindicator__item"></div> |
| <div class="b-nav__prestodb navindicator__item"></div> |
| <div class="b-nav__prestosql navindicator__item"></div> |
| <div class="b-nav__flink navindicator__item"></div> |
| <div class="b-nav__scd navindicator__item"></div> |
| <div class="b-nav__faq navindicator__item"></div> |
| <div class="b-nav__contri navindicator__item"></div> |
| <div class="b-nav__security navindicator__item"></div> |
| </div> |
| </nav> |
| </div> |
| <div class="mdcontent"> |
| <section> |
| <div style="padding:10px 15px;"> |
| <div id="viewpage" name="viewpage"> |
| <div class="row"> |
| <div class="col-sm-12 col-md-12"> |
| <div> |
| <h1> |
| <a id="c-sdk-guide" class="anchor" href="#c-sdk-guide" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>C++ SDK Guide</h1> |
| <p>CarbonData C++ SDK provides C++ interface to write and read carbon file. |
| C++ SDK use JNI to invoke java SDK in C++ code.</p> |
| <h1> |
| <a id="c-sdk-reader" class="anchor" href="#c-sdk-reader" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>C++ SDK Reader</h1> |
| <p>This C++ SDK reader reads CarbonData file and carbonindex file at a given path. |
| External client can make use of this reader to read CarbonData files in C++ |
| code and without CarbonSession.</p> |
| <p>In the carbon jars package, there exist a carbondata-sdk.jar, |
| including SDK reader for C++ SDK.</p> |
| <h2> |
| <a id="quick-example" class="anchor" href="#quick-example" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Quick example</h2> |
| <p>Please find example code at <a href="https://github.com/apache/carbondata/blob/master/store/CSDK/test/main.cpp" target=_blank>main.cpp</a> of CSDK module</p> |
| <p>When users use C++ to read carbon files, users should init JVM first. Then users create |
| carbon reader and read data.There are some example code of read data from local disk<br> |
| and read data from S3 at main.cpp of CSDK module. Finally, users need to |
| release the memory and destroy JVM.</p> |
| <p>C++ SDK support read batch row. User can set batch by using withBatch(int batch) before build, and read batch by using readNextBatchRow().</p> |
| <h2> |
| <a id="api-list" class="anchor" href="#api-list" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>API List</h2> |
| <h3> |
| <a id="carbonreader" class="anchor" href="#carbonreader" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CarbonReader</h3> |
| <pre><code>/** |
| * Create a CarbonReaderBuilder object for building carbonReader, |
| * CarbonReaderBuilder object can configure different parameter |
| * |
| * @param env JNIEnv |
| * @param path data store path |
| * @param tableName table name |
| * @return CarbonReaderBuilder object |
| */ |
| jobject builder(JNIEnv *env, char *path, char *tableName); |
| </code></pre> |
| <pre><code>/** |
| * Create a CarbonReaderBuilder object for building carbonReader, |
| * CarbonReaderBuilder object can configure different parameter |
| * |
| * @param env JNIEnv |
| * @param path data store path |
| * |
| */ |
| void builder(JNIEnv *env, char *path); |
| </code></pre> |
| <pre><code>/** |
| * Configure the projection column names of carbon reader |
| * |
| * @param argc argument counter |
| * @param argv argument vector |
| * @return CarbonReaderBuilder object |
| */ |
| jobject projection(int argc, char *argv[]); |
| </code></pre> |
| <pre><code>/** |
| * Build carbon reader with argument vector |
| * it supports multiple parameters |
| * like: key=value |
| * for example: fs.s3a.access.key=XXXX, XXXX is user's access key value |
| * |
| * @param argc argument counter |
| * @param argv argument vector |
| * @return CarbonReaderBuilder object |
| * |
| */ |
| jobject withHadoopConf(int argc, char *argv[]); |
| </code></pre> |
| <pre><code>/** |
| * Sets the batch size of records to read |
| * |
| * @param batch batch size |
| * @return CarbonReaderBuilder object |
| */ |
| void withBatch(int batch); |
| </code></pre> |
| <pre><code>/** |
| * Configure Row Record Reader for reading. |
| */ |
| void withRowRecordReader(); |
| </code></pre> |
| <pre><code>/** |
| * Build carbonReader object for reading data |
| * it supports read data from load disk |
| * |
| * @return carbonReader object |
| */ |
| jobject build(); |
| </code></pre> |
| <pre><code>/** |
| * Whether it has next row data |
| * |
| * @return boolean value, if it has next row, return true. if it hasn't next row, return false. |
| */ |
| jboolean hasNext(); |
| </code></pre> |
| <pre><code>/** |
| * Read next carbonRow from data |
| * @return carbonRow object of one row |
| */ |
| jobject readNextRow(); |
| </code></pre> |
| <pre><code>/** |
| * Read Next Batch Row |
| * |
| * @return rows |
| */ |
| jobjectArray readNextBatchRow(); |
| </code></pre> |
| <pre><code>/** |
| * Close the carbon reader |
| * |
| * @return boolean value |
| */ |
| jboolean close(); |
| </code></pre> |
| <h1> |
| <a id="c-sdk-writer" class="anchor" href="#c-sdk-writer" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>C++ SDK Writer</h1> |
| <p>This C++ SDK writer writes CarbonData file and carbonindex file at a given path. |
| External client can make use of this writer to write CarbonData files in C++ |
| code and without CarbonSession. C++ SDK already supports S3 and local disk.</p> |
| <p>In the carbon jars package, there exist a carbondata-sdk.jar, |
| including SDK writer for C++ SDK.</p> |
| <h2> |
| <a id="quick-example-1" class="anchor" href="#quick-example-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Quick example</h2> |
| <p>Please find example code at <a href="https://github.com/apache/carbondata/blob/master/store/CSDK/test/main.cpp" target=_blank>main.cpp</a> of CSDK module</p> |
| <p>When users use C++ to write carbon files, users should init JVM first. Then users create |
| carbon writer and write data.There are some example code of write data to local disk<br> |
| and write data to S3 at main.cpp of CSDK module. Finally, users need to |
| release the memory and destroy JVM.</p> |
| <h2> |
| <a id="api-list-1" class="anchor" href="#api-list-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>API List</h2> |
| <h3> |
| <a id="carbonwriter" class="anchor" href="#carbonwriter" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CarbonWriter</h3> |
| <pre><code>/** |
| * Create a CarbonWriterBuilder object for building carbonWriter, |
| * CarbonWriterBuilder object can configure different parameter |
| * |
| * @param env JNIEnv |
| * @return CarbonWriterBuilder object |
| */ |
| void builder(JNIEnv *env); |
| </code></pre> |
| <pre><code>/** |
| * Sets the output path of the writer builder |
| * |
| * @param path is the absolute path where output files are written |
| * This method must be called when building CarbonWriterBuilder |
| * @return updated CarbonWriterBuilder |
| */ |
| void outputPath(char *path); |
| </code></pre> |
| <pre><code>/** |
| * Sets the list of columns that needs to be in sorted order |
| * |
| * @param argc argc argument counter, the number of projection column |
| * @param argv argv is a string array of columns that needs to be sorted. |
| * If it is null or empty array, no columns are selected for sorting. |
| */ |
| void sortBy(int argc, char *argv[]); |
| </code></pre> |
| <pre><code>/** |
| * Configure the schema with json style schema |
| * |
| * @param jsonSchema json style schema |
| * @return updated CarbonWriterBuilder |
| */ |
| void withCsvInput(char *jsonSchema); |
| </code></pre> |
| <pre><code>/** |
| * Updates the hadoop configuration with the given key value |
| * |
| * @param key key word |
| * @param value value |
| * @return CarbonWriterBuilder object |
| */ |
| void withHadoopConf(char *key, char *value); |
| </code></pre> |
| <pre><code>/** |
| * To support the table properties for writer |
| * |
| * @param key properties key |
| * @param value properties value |
| */ |
| void withTableProperty(char *key, char *value); |
| </code></pre> |
| <pre><code>/** |
| * To support the load options for C++ sdk writer |
| * |
| * @param options key,value pair of load options. |
| * supported keys values are |
| * a. bad_records_logger_enable -- true (write into separate logs), false |
| * b. bad_records_action -- FAIL, FORCE, IGNORE, REDIRECT |
| * c. bad_record_path -- path |
| * d. dateformat -- same as JAVA SimpleDateFormat |
| * e. timestampformat -- same as JAVA SimpleDateFormat |
| * f. complex_delimiter_level_1 -- value to Split the complexTypeData |
| * g. complex_delimiter_level_2 -- value to Split the nested complexTypeData |
| * h. quotechar |
| * i. escapechar |
| * |
| * Default values are as follows. |
| * |
| * a. bad_records_logger_enable -- "false" |
| * b. bad_records_action -- "FAIL" |
| * c. bad_record_path -- "" |
| * d. dateformat -- "" , uses from carbon.properties file |
| * e. timestampformat -- "", uses from carbon.properties file |
| * f. complex_delimiter_level_1 -- "$" |
| * g. complex_delimiter_level_2 -- ":" |
| * h. quotechar -- "\"" |
| * i. escapechar -- "\\" |
| * |
| * @return updated CarbonWriterBuilder |
| */ |
| void withLoadOption(char *key, char *value); |
| </code></pre> |
| <pre><code>/** |
| * Sets the taskNo for the writer. CSDKs concurrently running |
| * will set taskNo in order to avoid conflicts in file's name during write. |
| * |
| * @param taskNo is the TaskNo user wants to specify. |
| * by default it is system time in nano seconds. |
| */ |
| void taskNo(long taskNo); |
| </code></pre> |
| <pre><code>/** |
| * Set the timestamp in the carbondata and carbonindex index files |
| * |
| * @param timestamp is a timestamp to be used in the carbondata and carbonindex index files. |
| * By default set to zero. |
| * @return updated CarbonWriterBuilder |
| */ |
| void uniqueIdentifier(long timestamp); |
| </code></pre> |
| <pre><code>/** |
| * To make c++ sdk writer thread safe. |
| * |
| * @param numOfThreads should number of threads in which writer is called in multi-thread scenario |
| * default C++ sdk writer is not thread safe. |
| * can use one writer instance in one thread only. |
| */ |
| void withThreadSafe(short numOfThreads) ; |
| </code></pre> |
| <pre><code>/** |
| * To set the carbondata file size in MB between 1MB-2048MB |
| * |
| * @param blockSize is size in MB between 1MB to 2048 MB |
| * default value is 1024 MB |
| */ |
| void withBlockSize(int blockSize); |
| </code></pre> |
| <pre><code>/** |
| * To set the blocklet size of CarbonData file |
| * |
| * @param blockletSize is blocklet size in MB |
| * default value is 64 MB |
| * @return updated CarbonWriterBuilder |
| */ |
| void withBlockletSize(int blockletSize); |
| </code></pre> |
| <pre><code>/** |
| * @param localDictionaryThreshold is localDictionaryThreshold, default is 10000 |
| * @return updated CarbonWriterBuilder |
| */ |
| void localDictionaryThreshold(int localDictionaryThreshold); |
| </code></pre> |
| <pre><code>/** |
| * @param enableLocalDictionary enable local dictionary, default is false |
| * @return updated CarbonWriterBuilder |
| */ |
| void enableLocalDictionary(bool enableLocalDictionary); |
| </code></pre> |
| <pre><code>/** |
| * @param appName appName which is writing the carbondata files |
| */ |
| void writtenBy(char *appName); |
| </code></pre> |
| <pre><code>/** |
| * Build carbonWriter object for writing data |
| * it support write data from load disk |
| * |
| * @return carbonWriter object |
| */ |
| void build(); |
| </code></pre> |
| <pre><code>/** |
| * Write an object to the file, the format of the object depends on the |
| * implementation. |
| * Note: This API is not thread safe |
| */ |
| void write(jobject obj); |
| </code></pre> |
| <pre><code>/** |
| * close the carbon Writer |
| */ |
| void close(); |
| </code></pre> |
| <h3> |
| <a id="carbonschemareader" class="anchor" href="#carbonschemareader" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CarbonSchemaReader</h3> |
| <pre><code>/** |
| * Constructor with jni env |
| * |
| * @param env jni env |
| */ |
| CarbonSchemaReader(JNIEnv *env); |
| </code></pre> |
| <pre><code>/** |
| * Read schema from path, |
| * path can be folder path, carbonindex file path, and carbondata file path |
| * and will not check all files schema |
| * |
| * @param path file/folder path |
| * @return schema |
| */ |
| jobject readSchema(char *path); |
| </code></pre> |
| <pre><code>/** |
| * Read schema from path, |
| * path can be folder path, carbonindex file path, and carbondata file path |
| * and user can decide whether check all files schema |
| * |
| * @param path carbon data path |
| * @param validateSchema whether check all files schema |
| * @return schema |
| */ |
| jobject readSchema(char *path, bool validateSchema); |
| </code></pre> |
| <pre><code>/** |
| * Read schema from path, |
| * path can be folder path, carbonindex file path, and carbondata file path |
| * and will not check all files schema |
| * |
| * @param path file/folder path |
| * @param conf configuration support, can set s3a AK,SK, |
| * end point and other conf with this |
| * @return schema |
| */ |
| jobject readSchema(char *path, Configuration conf); |
| </code></pre> |
| <pre><code>/** |
| * Read schema from path, |
| * path can be folder path, carbonindex file path, and carbondata file path |
| * and user can decide whether check all files schema |
| * |
| * @param path carbon data path |
| * @param validateSchema whether check all files schema |
| * @param conf configuration support, can set s3a AK,SK, |
| * end point and other conf with this |
| * @return schema |
| */ |
| jobject readSchema(char *path, bool validateSchema, Configuration conf); |
| </code></pre> |
| <h3> |
| <a id="schema" class="anchor" href="#schema" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Schema</h3> |
| <pre><code>/** |
| * Constructor with jni env and carbon schema data |
| * |
| * @param env jni env |
| * @param schema carbon schema data |
| */ |
| Schema(JNIEnv *env, jobject schema); |
| </code></pre> |
| <pre><code>/** |
| * Get fields length of schema |
| * |
| * @return fields length |
| */ |
| int getFieldsLength(); |
| </code></pre> |
| <pre><code>/** |
| * Get field name by ordinal |
| * |
| * @param ordinal the data index of carbon schema |
| * @return ordinal field name |
| */ |
| char *getFieldName(int ordinal); |
| </code></pre> |
| <pre><code>/** |
| * Get field data type name by ordinal |
| * |
| * @param ordinal the data index of carbon schema |
| * @return ordinal field data type name |
| */ |
| char *getFieldDataTypeName(int ordinal); |
| </code></pre> |
| <pre><code>/** |
| * Get array child element data type name by ordinal |
| * |
| * @param ordinal the data index of carbon schema |
| * @return ordinal array child element data type name |
| */ |
| char *getArrayElementTypeName(int ordinal); |
| </code></pre> |
| <h3> |
| <a id="carbonproperties" class="anchor" href="#carbonproperties" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CarbonProperties</h3> |
| <pre><code>/** |
| * Constructor of CarbonProperties |
| * |
| * @param env JNI env |
| */ |
| CarbonProperties(JNIEnv *env); |
| </code></pre> |
| <pre><code>/** |
| * This method will be used to add a new property |
| * |
| * @param key property key |
| * @param value property value |
| * @return CarbonProperties object |
| */ |
| jobject addProperty(char *key, char *value); |
| </code></pre> |
| <pre><code>/** |
| * This method will be used to get the properties value |
| * |
| * @param key property key |
| * @return property value |
| */ |
| char *getProperty(char *key); |
| </code></pre> |
| <pre><code>/** |
| * This method will be used to get the properties value |
| * if property is not present then it will return the default value |
| * |
| * @param key property key |
| * @param defaultValue property default Value |
| * @return |
| */ |
| char *getProperty(char *key, char *defaultValue); |
| </code></pre> |
| <script> |
| $(function() { |
| // Show selected style on nav item |
| $('.b-nav__api').addClass('selected'); |
| |
| if (!$('.b-nav__api').parent().hasClass('nav__item__with__subs--expanded')) { |
| // Display api subnav items |
| $('.b-nav__api').parent().toggleClass('nav__item__with__subs--expanded'); |
| } |
| }); |
| </script></div> |
| </div> |
| </div> |
| </div> |
| <div class="doc-footer"> |
| <a href="#top" class="scroll-top">Top</a> |
| </div> |
| </div> |
| </section> |
| </div> |
| </div> |
| </div> |
| </section><!-- End systemblock part --> |
| <script src="js/custom.js"></script> |
| </body> |
| </html> |