[CARBONDATA-4345] update/delete operations failed when other format segemnt deleted from carbon table

Why is this PR needed?
Update/delete operations failed when other format segments deleted from carbon table
Steps to reproduce:
1. create carbon table and load the data
2. create parquet/orc tables and load the data
3. add parquet/orc format segments in carbon table by alter add segment command
4. perform update/delete operations in carbon table and they will fail as table
   contains mixed format segments. This is expected behaviour only.
5. delete the other format segments which is added in step3
6. try to perform update/delete operation in carbon data. They should not fail

For update/delete operations we are checking if other format segments present
in table path. If found then carbon data throwing exception by saying mixed
format segments exists even though the other format segments deleted from table.

What changes were proposed in this PR?
When we are checking other format segment present in carbon table then it
should check only for SUCCESS/PARTIAL_SUCCESS segments.

Does this PR introduce any user interface change?
No

Is any new testcase added?
Yes

This closes #4285
2 files changed
tree: f78784d3ab327de1f79832f8eca84c7523d86689
  1. .github/
  2. assembly/
  3. bin/
  4. build/
  5. common/
  6. conf/
  7. core/
  8. dev/
  9. docs/
  10. examples/
  11. format/
  12. geo/
  13. hadoop/
  14. index/
  15. integration/
  16. licenses-binary/
  17. mv/
  18. processing/
  19. python/
  20. sdk/
  21. streaming/
  22. tools/
  23. .asf.yaml
  24. .gitignore
  25. LICENSE
  26. NOTICE
  27. pom.xml
  28. README.md
  29. scalastyle-config.xml
README.md

Apache CarbonData is an indexed columnar data store solution for fast analytics on big data platform, e.g. Apache Hadoop, Apache Spark, etc.

You can find the latest CarbonData document and learn more at: http://carbondata.apache.org

CarbonData cwiki

Status

Spark2.4: Build Status Coverage Status

Features

CarbonData file format is a columnar store in HDFS, it has many features that a modern columnar format has, such as splittable, compression schema, complex data type etc, and CarbonData has following unique features:

  • Stores data along with index: it can significantly accelerate query performance and reduces the I/O scans and CPU resources, where there are filters in the query. CarbonData index consists of multiple level of indices, a processing framework can leverage this index to reduce the task it needs to schedule and process, and it can also do skip scan in more finer grain unit (called blocklet) in task side scanning instead of scanning the whole file.
  • Operable encoded data: through supporting efficient compression and global encoding schemes, can query on compressed/encoded data, the data can be converted just before returning the results to the users, which is “late materialized”.
  • Supports for various use cases with one single Data format : like interactive OLAP-style query, Sequential Access (big scan), Random Access (narrow scan).

Building CarbonData

CarbonData is built using Apache Maven, to build CarbonData

Online Documentation

Experimental Features

Some features are marked as experimental because the syntax/implementation might change in the future.

  1. Hybrid format table using Add Segment.
  2. Accelerating performance using MV on parquet/orc.
  3. Merge API for Spark DataFrame.
  4. Hive write for non-transactional table.
  5. Secondary Index as a Coarse Grain Index in query processing.

Integration

Other Technical Material

Fork and Contribute

This is an active open source project for everyone, and we are always open to people who want to use this system or contribute to it. This guide document introduces how to contribute to CarbonData.

Contact us

To get involved in CarbonData:

About

Apache CarbonData is an open source project of The Apache Software Foundation (ASF).