Apache CarbonData 1.4.0

Apache CarbonData 1.4.0 正式发布,多项新功能及性能提升

2018年06月06日 09:24:21

阅读数:147

Apache CarbonData 1.4.0 下载地址:https://dist.apache.org/repos/dist/release/carbondata/1.4.0/

Apache CarbonData 官方文档:

http://carbondata.apache.org/mainpage.html

Apache CarbonData 源码:

https://github.com/apache/carbondata

更多详情请参见 https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=85475081 (点击下面阅读原文即可进入)

Apache CarbonData社区很高兴发布1.4.0版本,在社区开发者和用户的共同努力下,1.4.0解决了超过230个JIRA Tickets(新特性和bug修复),欢迎大家试用。

简介

CarbonData是一个高性能的数据解决方案,目标是实现一份数据支持多种分析场景,包括BI分析,即席SQL查询,明细数据分析,流式分析等。CarbonData已经部署在许多企业生产环境中,例如一个规模较大的场景,支持单个表3PB数据(超过5万亿条记录)上明细数据分析,响应时间小于3秒!下面是1.4.0支持的新特性介绍。

Carbon Core

数据加载性能提升

通过增强入库过程中的IO读写(包括排序临时文件改进,分区排序,免拷贝等),数据加载性能得到了显著提高。 在一个实际的生产环境中,与上一版本相比,我们观察到多达300%的改进。

数据Compaction性能提升

通过在Compaction过程中采用数据预取和矢量化读取的改进,CarbonData表上的Compaction执行性能与上一版本相比提高了500%。得益于这个提升,在一个面向IoT的场景中,做到每5分钟的数据加载(数据量为几百GB)的同时达到秒级查询响应,通过设置自动Compaction,系统每隔30分钟和60分钟进行一次Compaction("carbon.compaction.level.threshold"设置为"6,2"),减少了Segments的数量,使CarbonData的索引更有效。

DataMap管理

1.4.0中的CREATE DATAMAP语句中引入了新的语法'DEFERRED REBUILD',这使得用户可以选择DataMap管理机制是自动或手动。在创建DataMap时,如果用户指定了'DEFERRED REBUILD',系统会默认设置DataMap的状态为不可用,当用户执行REBUILD DATAMAP命令后,系统会触发DataMap的加载,并在查询时使用该DataMap。这使用户可以控制何时加载DataMap,有利于用户控制对资源的使用。相对地,用户也可以不指定'DEFERRED REBUILD', 每当有新的数据加载发生时系统会自动触发所有相关DataMap的加载(与老版本一样)。详细操作请参阅DataMap管理。

外部表

现在您可以通过CREATE TABLE ... LOCATION ...来指定Carbon数据文件的存储位置,这个特性的行为和用户与Hive External Table相同。

支持云存储

您可以使用云存储来建立CarbonData外部表,例如将CarbonData表存储在AWS S3,华为云OBS等云存储中。例子请参阅CarbonData云存储例子。

支持在独立应用程序中使用SDK

1.4.0提供了Java SDK,通过使用该SDK,应用程序可以不依赖Hadoop和Spark来创建表格、写入和读取CarbonData文件。例如,用户可以写一个独立的Java程序将现有数据转换为CarbonData文件。目前,SDK支持把以下格式转换为CarbonData文件,支持写入到本地磁盘或云存储。

CSV数据,Schema由用户指定。

JSON数据,Schema通过Avro对象表达。

具体例子请参阅CarbonData SDK应用例子

针对OLAP场景的增强

支持在Streaming Table里使用预汇聚 (PreAggregate DataMap)

在上个版本中,一个表格不能同时进行流式入库和创建预汇聚表,在1.4.0中去除了这个限制。现在您可以在流式表上创建预聚合表,既缩短了数据从产生到可分析的时间, 也可以利用预汇总表来提高查询性能。此特性的实现机制是把一个查询分为两个部分,一部分查询流数据,另一部分查询预聚合数据,最终系统自动合并查询结果。由于预聚合数据比原始数据少得多,所以使查询更快。

预聚合表支持分区

针对分区表,用户创建预汇聚表(preaggregate DataMap)后,预汇聚表会具备相同的分区属性(相同的分区列)。由于此时主表和预汇聚表的分区是Aligned的,因此当您在主表上执行数据管理操作(如创建/删除/覆盖写分区)时,同样的操作将在聚合表上自动完成,使两者保持同步。例如,用户可以创建一个天分区表,每天导入数据到新分区,这样系统也会自动完成对应预汇聚表的新分区导入。

支持物化视图(Alpha功能, MV DataMap)

与1.3.0版中引入的预汇聚表(PreAggregate DataMap)相比,1.4.0中引入了功能更强大的物化视图(MV DataMap),它可以涵盖更多的 OLAP分析场景。用户通过类似的DataMap语句(CTAS)创建、删除、显示物化视图,在查询时系统会根据查询条件和执行成本找到合适的物化视图,将查询语句重写为针对物化视图的查询,提升查询性能。

CarbonData物化视图作为一个长期演进特性,目前支持SPJGH的形式(select-predicate-join-groupby-having),用户可以创建单表或多表的汇聚表,也可以针对单表只做过滤,不做汇聚。

这个特性目前是Alpha版本,仍存在不完善的地方,不建议用户在生产系统中使用,但我们鼓励所有用户在非生产系统中试用,该特性会在未来版本中逐步改进。

针对明细数据分析的增强

针对高基数列的BloomFilter DataMap(Alpha功能)

为了提升高基数列的过滤效果和查询性能,1.4.0引入了BloomFilter索引。 它针对的场景是类似用户名/ID等高基数列上进行精确匹配。 在一个与上一版本的对比测试中,我们针对用户名进行过滤查询,发现并发查询性能提高了3~5倍。 有关更多详细信息,请参阅 BloomFilter DataMap指南

针对文本检索的Lucene DataMap(Alpha功能)

Lucene是一个高性能全文检索引擎,1.4.0实现了一个基于Lucene的DataMap索引,用户可以创建Lucene DataMap来提高长文本字符串列的模糊匹配查询性能。 有关更多详细信息,请参阅 Lucene DataMap指南

支持搜索模式(Alpha功能)

为了提高并发过滤查询性能,CarbonData新增了一种“搜索模式”(Search Mode)来执行查询(包含查询调度和执行)。该模式不使用Spark RDD和DAG Scheduler,避免了由于RDD带来的性能开销。在一个与“Spark模式”的对比测试中,“搜索模式”使查询时延降低了一半,从1秒降低到500ms。例子请参考SearchMode例子

其他重要改进

改进了EXPLAIN命令输出,通过EXPLAIN命令,用户可以得知某个查询是否被重写针对预聚合表或物化视图的查询,使用了哪个索引,命中了多少个文件和Blocklet等,可以基于此对物化视图和索引进行调优。

在Carbon Core中增加了性能调优日志,包括输出SQL解析和优化器占用时间,索引过滤信息,Carbon文件IO读取时间,解码Blocklet的数量和时间,向上层引擎填充结果的时间等。参考“enable.query.statistics”配置设置。

支持数据加载和Compaction并发执行。

支持将可见和不可见的Segment元数据分隔为两个文件,并在SHOW SEGMENTS命令中显示它们。

支持分区表上的全局排序选项

减少全局排序表中的对象生成,减少GC

对DESC命令进行优化以显示分区表的分区值和位置

猜你喜欢

欢迎关注本公众号:iteblog_hadoop:

0、回复电子书 获取本站所有可下载的电子书

1、Apache Spark 统一内存管理模型详解

2、HDFS 副本存放磁盘选择策略详解

3、盘点2017年晋升为Apache TLP的大数据相关项目

4、干货 | 深入理解 Spark Structured Streaming

5、Apache Spark 黑名单(Blacklist)机制介绍

6、Kafka分区分配策略(Partition Assignment Strategy)

7、Spark SQL 你需要知道的十件事

8、干货 | Apache Spark 2.0 作业优化技巧

9、[干货]大规模数据处理的演变(2003-2017)

10、干货 | 如何使用功能强大的 Apache Flink SQL

11、更多大数据文章欢迎访问https://www.iteblog.com及本公众号(iteblog_hadoop)12、Flink中文文档:http://flink.iteblog.com13、Carbondata 中文文档:http://carbondata.iteblog.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容