carbondata git commit: [CARBONDATA-2424] Added documentation for properties of Pre-aggregate tables
Repository: carbondata Updated Branches: refs/heads/master b1c85fa55 -> 1128d89ea [CARBONDATA-2424] Added documentation for properties of Pre-aggregate tables 'path' and 'partitioning' under DMPROPERTIES have been updated in the document This closes #2258 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/1128d89e Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/1128d89e Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/1128d89e Branch: refs/heads/master Commit: 1128d89eae927657f82842f1d8896f705befca76 Parents: b1c85fa Author: praveenmeenakshi56Authored: Wed May 2 13:47:25 2018 +0530 Committer: kunal642 Committed: Mon May 7 18:04:20 2018 +0530 -- docs/datamap/preaggregate-datamap-guide.md | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/carbondata/blob/1128d89e/docs/datamap/preaggregate-datamap-guide.md -- diff --git a/docs/datamap/preaggregate-datamap-guide.md b/docs/datamap/preaggregate-datamap-guide.md index 84f06c4..ce7cbcc 100644 --- a/docs/datamap/preaggregate-datamap-guide.md +++ b/docs/datamap/preaggregate-datamap-guide.md @@ -105,7 +105,10 @@ DataMap can be created using following DDL ``` The string followed by USING is called DataMap Provider, in this version CarbonData supports two kinds of DataMap: -1. preaggregate, for pre-aggregate table. No DMPROPERTY is required for this DataMap +1. preaggregate, for pre-aggregate table. Pre-Aggregate table supports two values for DMPROPERTIES. + a. 'path' is used to specify the store location of the datamap.('path'='/location/'). + b. 'partitioning' when set to false enables user to disable partitioning of the datamap. + Default value is true for this property. 2. timeseries, for timeseries roll-up table. Please refer to [Timeseries DataMap](https://github.com/apache/carbondata/blob/master/docs/datamap/timeseries-datamap-guide.md) DataMap can be dropped using following DDL
carbondata git commit: [CARBONDATA-2430][SDK] Reshuffling of Columns given by user in SDK.
Repository: carbondata Updated Branches: refs/heads/master 531ecdf3f -> b1c85fa55 [CARBONDATA-2430][SDK] Reshuffling of Columns given by user in SDK. Reshuffling of Columns given by the user in SDK. Order should be Sort COlumns -> Dimension -> Complex --> Measure This closes #2261 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/b1c85fa5 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/b1c85fa5 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/b1c85fa5 Branch: refs/heads/master Commit: b1c85fa55eeca1a98b61117c6b46df9a28d60bca Parents: 531ecdf Author: sounakrAuthored: Wed May 2 21:29:57 2018 +0530 Committer: ravipesala Committed: Mon May 7 16:36:46 2018 +0530 -- .../core/metadata/datatype/ArrayType.java | 4 + .../core/metadata/datatype/StructField.java | 15 + .../core/metadata/schema/table/CarbonTable.java | 26 -- .../schema/table/TableSchemaBuilder.java| 72 ++- .../examples/DataFrameComplexTypeExample.scala | 147 +- .../TestNonTransactionalCarbonTable.scala | 459 +-- .../apache/spark/util/SparkTypeConverter.scala | 58 +-- .../carbondata/sdk/file/AvroCarbonWriter.java | 48 +- .../sdk/file/CarbonWriterBuilder.java | 104 +++-- .../org/apache/carbondata/sdk/file/Field.java | 4 +- .../sdk/file/AvroCarbonWriterTest.java | 214 + 11 files changed, 963 insertions(+), 188 deletions(-) -- http://git-wip-us.apache.org/repos/asf/carbondata/blob/b1c85fa5/core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java index c30e21c..c327d7f 100644 --- a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java +++ b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java @@ -30,4 +30,8 @@ public class ArrayType extends DataType { public boolean isComplexType() { return true; } + + public DataType getElementType() { +return elementType; + } } http://git-wip-us.apache.org/repos/asf/carbondata/blob/b1c85fa5/core/src/main/java/org/apache/carbondata/core/metadata/datatype/StructField.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/StructField.java b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/StructField.java index efdc8e2..bfca057 100644 --- a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/StructField.java +++ b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/StructField.java @@ -18,6 +18,7 @@ package org.apache.carbondata.core.metadata.datatype; import java.io.Serializable; +import java.util.List; public class StructField implements Serializable { @@ -27,9 +28,19 @@ public class StructField implements Serializable { private DataType dataType; + private List children; + public StructField(String fieldName, DataType dataType) { this.fieldName = fieldName; this.dataType = dataType; +this.children = null; + } + + + public StructField(String fieldName, DataType dataType, List children) { +this.fieldName = fieldName; +this.dataType = dataType; +this.children = children; } public DataType getDataType() { @@ -39,4 +50,8 @@ public class StructField implements Serializable { public String getFieldName() { return fieldName; } + + public List getChildren() { +return children; + } } http://git-wip-us.apache.org/repos/asf/carbondata/blob/b1c85fa5/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java index 4178d8a..cf5660f 100644 --- a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java +++ b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java @@ -37,8 +37,6 @@ import org.apache.carbondata.core.datamap.dev.DataMapFactory; import org.apache.carbondata.core.features.TableOperation; import org.apache.carbondata.core.metadata.AbsoluteTableIdentifier; import org.apache.carbondata.core.metadata.CarbonTableIdentifier; -import org.apache.carbondata.core.metadata.converter.ThriftWrapperSchemaConverterImpl; -import
[2/2] carbondata git commit: [CARBONDATA-2310] Refactored code to improve Distributable interface & [CARBONDATA-2362] Changing the Cacheable object from DataMap to Wrapper
[CARBONDATA-2310] Refactored code to improve Distributable interface & [CARBONDATA-2362] Changing the Cacheable object from DataMap to Wrapper This PR has two JIRA fixes [CARBONDATA-2310] Refactored code to improve Distributable interface [CARBONDATA-2362] Changing the Cacheable object from DataMap to Wrapper This closes #2244 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/531ecdf3 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/531ecdf3 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/531ecdf3 Branch: refs/heads/master Commit: 531ecdf3f40c064d4ff6ad36c43fa90a2d423588 Parents: a7926ea Author: dhatchayaniAuthored: Fri Apr 27 23:03:52 2018 +0530 Committer: ravipesala Committed: Mon May 7 13:11:29 2018 +0530 -- .../org/apache/carbondata/core/cache/Cache.java | 10 + .../dictionary/AbstractDictionaryCache.java | 6 + .../core/constants/CarbonCommonConstants.java | 3 + .../core/datamap/dev/CacheableDataMap.java | 51 .../core/datastore/SegmentTaskIndexStore.java | 7 + .../filesystem/AbstractDFSCarbonFile.java | 5 +- .../core/datastore/filesystem/CarbonFile.java | 3 +- .../datastore/filesystem/LocalCarbonFile.java | 3 +- .../core/indexstore/AbstractMemoryDMStore.java | 63 + .../indexstore/BlockletDataMapIndexStore.java | 187 --- .../indexstore/BlockletDataMapIndexWrapper.java | 52 + .../core/indexstore/BlockletDetailInfo.java | 66 -- .../core/indexstore/SafeMemoryDMStore.java | 105 + .../TableBlockIndexUniqueIdentifier.java| 5 +- .../core/indexstore/UnsafeMemoryDMStore.java| 25 +- .../blockletindex/BlockletDataMap.java | 232 --- .../BlockletDataMapDistributable.java | 12 + .../blockletindex/BlockletDataMapFactory.java | 127 ++ .../blockletindex/BlockletDataMapModel.java | 12 + .../blockletindex/SegmentIndexFileStore.java| 39 +++- .../core/indexstore/row/DataMapRow.java | 13 +- .../core/indexstore/row/UnsafeDataMapRow.java | 7 +- .../core/indexstore/schema/CarbonRowSchema.java | 10 +- .../core/metadata/SegmentFileStore.java | 29 +++ .../core/metadata/schema/table/TableInfo.java | 24 ++ .../TableStatusReadCommittedScope.java | 4 +- .../core/util/BlockletDataMapUtil.java | 180 ++ .../carbondata/core/util/SessionParams.java | 5 + .../core/util/path/CarbonTablePath.java | 2 +- .../TestBlockletDataMapFactory.java | 126 ++ .../apache/carbondata/hadoop/CacheClient.java | 49 .../hadoop/api/AbstractDataMapJob.java | 42 .../hadoop/api/CarbonFileInputFormat.java | 2 +- .../hadoop/api/CarbonInputFormat.java | 27 ++- .../hadoop/api/CarbonTableInputFormat.java | 2 +- .../carbondata/hadoop/api/DataMapJob.java | 6 + .../hadoop/util/CarbonInputFormatUtil.java | 43 +++- .../lucene/LuceneFineGrainDataMapSuite.scala| 1 + .../carbondata/spark/rdd/CarbonScanRDD.scala| 15 +- .../carbondata/spark/rdd/SparkDataMapJob.scala | 4 +- .../org/apache/spark/sql/CarbonCountStar.scala | 3 + .../execution/command/CarbonHiveCommands.scala | 9 + 42 files changed, 1335 insertions(+), 281 deletions(-) -- http://git-wip-us.apache.org/repos/asf/carbondata/blob/531ecdf3/core/src/main/java/org/apache/carbondata/core/cache/Cache.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/cache/Cache.java b/core/src/main/java/org/apache/carbondata/core/cache/Cache.java index 04fa18a..6df36fc 100644 --- a/core/src/main/java/org/apache/carbondata/core/cache/Cache.java +++ b/core/src/main/java/org/apache/carbondata/core/cache/Cache.java @@ -20,6 +20,8 @@ package org.apache.carbondata.core.cache; import java.io.IOException; import java.util.List; +import org.apache.carbondata.core.memory.MemoryException; + /** * A semi-persistent mapping from keys to values. Cache entries are manually added using * #get(Key), #getAll(List) , and are stored in the cache until @@ -69,6 +71,14 @@ public interface Cache { void invalidate(K key); /** + * This method will add the value to the cache for the given key + * + * @param key + * @param value + */ + void put(K key, V value) throws IOException, MemoryException; + + /** * Access count of Cacheable entry will be decremented * * @param keys http://git-wip-us.apache.org/repos/asf/carbondata/blob/531ecdf3/core/src/main/java/org/apache/carbondata/core/cache/dictionary/AbstractDictionaryCache.java
[1/2] carbondata git commit: [CARBONDATA-2310] Refactored code to improve Distributable interface & [CARBONDATA-2362] Changing the Cacheable object from DataMap to Wrapper
Repository: carbondata Updated Branches: refs/heads/master a7926ea13 -> 531ecdf3f http://git-wip-us.apache.org/repos/asf/carbondata/blob/531ecdf3/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java index 6803fc8..c6efd77 100644 --- a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java +++ b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java @@ -70,9 +70,15 @@ public class SegmentIndexFileStore { */ private MapcarbonIndexMapWithFullPath; + /** + * Stores the list of index files in a merge file + */ + private Map carbonMergeFileToIndexFilesMap; + public SegmentIndexFileStore() { carbonIndexMap = new HashMap<>(); carbonIndexMapWithFullPath = new HashMap<>(); +carbonMergeFileToIndexFilesMap = new HashMap<>(); } /** @@ -201,6 +207,28 @@ public class SegmentIndexFileStore { } /** + * Read all index file names of the segment + * + * @param segmentPath + * @return + * @throws IOException + */ + public Map getMergeOrIndexFilesFromSegment(String segmentPath) + throws IOException { +CarbonFile[] carbonIndexFiles = getCarbonIndexFiles(segmentPath); +Map indexFiles = new HashMap<>(); +for (int i = 0; i < carbonIndexFiles.length; i++) { + if (carbonIndexFiles[i].getName().endsWith(CarbonTablePath.MERGE_INDEX_FILE_EXT)) { +indexFiles +.put(carbonIndexFiles[i].getAbsolutePath(), carbonIndexFiles[i].getAbsolutePath()); + } else if (carbonIndexFiles[i].getName().endsWith(CarbonTablePath.INDEX_FILE_EXT)) { +indexFiles.put(carbonIndexFiles[i].getAbsolutePath(), null); + } +} +return indexFiles; + } + + /** * List all the index files inside merge file. * @param mergeFile * @return @@ -221,13 +249,14 @@ public class SegmentIndexFileStore { * @param mergeFilePath * @throws IOException */ - private void readMergeFile(String mergeFilePath) throws IOException { + public void readMergeFile(String mergeFilePath) throws IOException { ThriftReader thriftReader = new ThriftReader(mergeFilePath); try { thriftReader.open(); MergedBlockIndexHeader indexHeader = readMergeBlockIndexHeader(thriftReader); MergedBlockIndex mergedBlockIndex = readMergeBlockIndex(thriftReader); List file_names = indexHeader.getFile_names(); + carbonMergeFileToIndexFilesMap.put(mergeFilePath, file_names); List fileData = mergedBlockIndex.getFileData(); CarbonFile mergeFile = FileFactory.getCarbonFile(mergeFilePath); assert (file_names.size() == fileData.size()); @@ -298,8 +327,8 @@ public class SegmentIndexFileStore { CarbonFile carbonFile = FileFactory.getCarbonFile(segmentPath); return carbonFile.listFiles(new CarbonFileFilter() { @Override public boolean accept(CarbonFile file) { -return file.getName().endsWith(CarbonTablePath.INDEX_FILE_EXT) || file.getName() -.endsWith(CarbonTablePath.MERGE_INDEX_FILE_EXT); +return ((file.getName().endsWith(CarbonTablePath.INDEX_FILE_EXT) || file.getName() +.endsWith(CarbonTablePath.MERGE_INDEX_FILE_EXT)) && file.getSize() > 0); } }); } @@ -428,4 +457,8 @@ public class SegmentIndexFileStore { + " is " + (System.currentTimeMillis() - startTime)); return carbondataFileFooter.getBlockletList(); } + + public Map getCarbonMergeFileToIndexFilesMap() { +return carbonMergeFileToIndexFilesMap; + } } http://git-wip-us.apache.org/repos/asf/carbondata/blob/531ecdf3/core/src/main/java/org/apache/carbondata/core/indexstore/row/DataMapRow.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/row/DataMapRow.java b/core/src/main/java/org/apache/carbondata/core/indexstore/row/DataMapRow.java index b764bdf..496a1d0 100644 --- a/core/src/main/java/org/apache/carbondata/core/indexstore/row/DataMapRow.java +++ b/core/src/main/java/org/apache/carbondata/core/indexstore/row/DataMapRow.java @@ -16,13 +16,15 @@ */ package org.apache.carbondata.core.indexstore.row; +import java.io.Serializable; + import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema; /** * It is just a normal row to store data. Implementation classes could be safe and unsafe. * TODO move this class a global row and use across loading after DataType is changed class */ -public abstract class DataMapRow { +public abstract class DataMapRow