Apache CarbonData 1.0.0发布及其新特性介绍

 

Apache CarbonData 1.0.0第四个稳定版本,带来了大量的新特性。...






首先祝大家新年快乐啊。

大年初二Apache CarbonData迎来了第四个稳定版本CarbonData 1.0.0。CarbonData是由华为开发、开源并支持Apache Hadoop的列式存储文件格式,支持索引、压缩以及解编码等,其目的是为了实现同一份数据达到多种需求,而且能够实现更快的交互查询。目前该项目正处于Apache孵化过程中。CarbonData 1.0.0版本,一共带来了80+ 个新特性,并且有100+ 个bugfixs;以下是本版本的亮点特性:
点击下载Apache CarbonData 1.0.0

文章目录
  • 1 新的数据加载解决方案
  • 2 支持和Spark 2.1整合
  • 3 支持update/delete SQL
  • 4 int/bigint/decimal类型的数据支持自适应数据压缩来提高压缩比
  • 5 支持为不同的列定义Date/Timestamp格式
  • 6 B-Tree支持LRU缓存
  • 7 CarbonData V2格式提升首次查询性能
  • 8 支持矢量化Reader
  • 9 通过bucket table支持快速Join
  • 10 利用off-heap内存来减少GC
  • 11 支持single-pass数据加载
  • 12 支持为数据加载事先生成字典

    新的数据加载解决方案

旧版本的CarbonData数据加载解决方案依赖了Kettle引擎,然而Kettle引擎并不是为大数据领域而设计的,而且代码的维护非常复杂。所以,在Apache CarbonData 1.0.0版本,引入了新的数据加载解决方案,并且不依赖Kettle!使得功能更加模块化,而且性能得到了提升。

    支持和Spark 2.1整合

我们知道,Spark 2.1 (《Apache Spark 2.1.0正式发布》)添加了许多新的功能,而且性能得到了很大的提升;现在我们可以直接在CarbonData中使用到这些新的功能。

    支持update/delete SQL

我们可以直接使用标准的SQL语法来删除和更新Carbon表。不过这个功能目前仅仅在Spark 1.5/1.6可用,Spark 2.1的用户需要等待一下。

    int/bigint/decimal类型的数据支持自适应数据压缩来提高压缩比

这个特性可以根据数据来选择数据类型,它还支持增量压缩技术来减少存储大小。

    支持为不同的列定义Date/Timestamp格式

现在用户可以在加载数据的时候为每列提供Date/Timestamp格式。我们可以在创建表的时候为Timestamp 列定义格式,而且我们还可以定义默认的格式,这样就不需要每次再定义。

    B-Tree支持LRU缓存

CarbonData中的BTree保存着块的信息以及内存中Carbon表的blocklets的信息;如果表的数量或者数据增加,很可能会导致内存溢出。B-Tree的LRU功能仅仅在内存中保存最近或者最频繁使用的 block/blocklet 信息,自动清除不使用或者不经常使用的 block/blocklet 信息。

    CarbonData V2格式提升首次查询性能

CarbonData V2格式是多组织(more organized),而且维护更少的元数据,仅仅在需要的时候才会读取元数据,所以第一次查询的时间变得更快。和V1格式相比,其IO消耗更少。多次测试用例结果显示,V2的首次查询响应时间比V1减少了50%。

    支持矢量化Reader

它这个功能会批量读取数据,减少了GC时间并且提升了数据扫描的性能。

    通过bucket table支持快速Join

这个功能使得CarbonData支持 bucket table。如果Join的表已经在同列进行了分桶(bucketed)并且桶的个数一致,可以通过避免shuffle来提升Join查询性能。目前这个功能已经支持Spark 2.1。

    利用off-heap内存来减少GC

通过利用off-heap内存,使得数据的加载和读取性能得以提升。在数据加载方面,它提升了数据排序性能;在数据读取方面,通过把数据存储在堆外,减少了GC的负载。

    支持single-pass数据加载

目前,数据的加载分为2个job进行(首先是生成字典;其次才是真正进行数据加载)。这个功能使得可以在一个job中完成字典生成和数据的加载。这个功能可以在很少增量更新字典的数据加载场景下提升性能。

    支持为数据加载事先生成字典

用户可以使用生成的字典,此功能还支持用户自定义词典来提高数据加载的效率。
猜你喜欢
欢迎关注本公众号:iteblog_hadoop:

1、回复 掌握spark 获取 《Mastering Apache Spark》电子书

2、回复 高性能spark 获取 《High Performance Spark》电子书

3、回复 大数据分析 获取 《Big Data Analytics》电子书

4、回复 spark2电子书 获取 《Apache Spark 2 for Beginners》电子书

5、回复 spark2_data 获取  《Spark for Data Science》电子书

6、回复 架构师大会ppt 获取 《2016年中国架构师[大数据场]》 PPT

7、回复 intro_flink 获取 《Introduction to Apache Flink》 电子书

8、回复 spark_summit_ppt  获取 《Spark Summit 2016 Europe全部PPT》9、回复 flink未来 获取 《The Future of Apache Flink》10、更多大数据文章欢迎访问https://www.iteblog.com及本公众号(iteblog_hadoop)


    关注 Hadoop技术博文


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册