1、为什么要使用carbondata?
CarbonData支持完整的标准SQL支持,以及多种分析场景的支持,“一份数据支持多种使用场景”,例如大规模扫描和计算的批处理场景,OLAP多维交互式分析场景,明细数据即席查询,主键低时延点查,以及对实时数据的实时查询等场景主要概括为一下几种

(1)支持海量数据扫描提取其中某些列;
(2)支持根据主键进行查找的低于秒级响应;
(3)支持海量数据进行交互式查询的秒级响应;
(4)支持快速地抽取单独记录,并且从该记录中获取到所有列信息;
(5)支持HDFS,可以与Hadoop集群进行很好的无缝兼容。

可以看出当前的很多大数据系统虽然都能支持各类查询场景,但他们都是偏向某一类场景设计的,在不是其目标场景的情况下要么不支持要么退化为全表扫描,所以导致为了应对批处理,多维分析,明细数据查询等场景,常常需要通过复制多份数据,每种场景要维护一套数据。CarbonData的设计初衷正是为了打破这种限制,做到只保存一份数据,最优化地支撑多种使用场景。
2、CarbonData基础特性
(1)数据及索引:在有过滤的查询中,它可以显著地加速查询性能,减少I/O和CPU资源;CarbonData的索引由多级索引组成,计算引擎可以利用这些索引信息来减少调度和一些处理的开销;扫描数据的时候可以仅仅扫描更细粒度的单元(称为blocklet),而不再是扫描整个文件;
(2)可操作的编码数据:通过支持高效的压缩和全局编码模式,它可以直接在压缩或者编码的数据上查询,仅仅在需要返回结果的时候才进行转换,更好的查询下推;
(3)列组:支持列组,并且使用行格式进行存储,减少查询时行重建的开销;
(4)多种使用场景:顺序存取、随机访问、类OLAP交互式查询等。
3、推荐场景:希望一份存储同时满足快速扫描,多维分析,明细数据查询的场景。在华为的客户使用案例中,对比业界已有的列存方案,CarbonData可以带来5~30倍性能提升。我们自己测试大约有5~6倍左右的提升。
4、文件格式介绍:
一个CarbonData文件是由一系列被称为blocklet组成的,除了blocklet,还有许多其他的元信息,比如模式、偏移量以及索引信息等,这些元信息是存储在CarbonData文件中的footer里。
当在内存中建立索引的时候都需要读取footer里面的信息,因为可以利用这些信息优化后续所有的查询。
每个blocklet又是由许多Data Chunks组成。Data Chunks里面的数据可以按列或者行的形式存储;数据既可以是单独的一列也可以是多列。文件中所有blocklets都包含相同数量和类型的Data Chunks。CarbonData文件格式如图所示。

每个Data Chunk又是由许多被称为Pages的单元组成。总共有三种类型的pages:
(1)Data Page:包含一列或者列组的编码数据;
(2)Row ID Page:包含行id的映射,在Data Page以反向索引的形式存储时会被使用;
(3)RLE Page:包含一些额外的元信息,只有在Data Page使用RLE编码的时候会被使用

carbondata 介绍相关推荐

  1. Carbondata 1.4.0+Spark 2.2.1 On Yarn集成安装

    微信公众号(SZBigdata-Club):后续博客的文档都会转到微信公众号中.  1.公众号会持续给大家推送技术文档.学习视频.技术书籍.数据集等.  2.接受大家投稿支持.  3.对于各公司hr招 ...

  2. 盘点2021年Apache年报中出现的国产项目

    盘点2021年Apache年报中出现的国产项目:ShardingSphere, IoTDB, Carbon Data, Eagle, Kylin, Apisix, DolphinScheduler A ...

  3. Spark、Flink、CarbonData技术实践最佳案例解析

    当前无论是传统企业还是互联网公司对大数据实时分析和处理的要求越来越高,数据越实时价值越大,面向毫秒~秒级的实时大数据计算场景,Spark和Flink各有所长.CarbonData是一种高性能大数据存储 ...

  4. RocketMQ 介绍

    前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难. 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数竞争对 ...

  5. carbondata与mysql_carbondata使用总结

    5. 在Spark-shell上使用CarbonData 用户若需要在Spark-shell上使用CarbonData,需通过如下方式进行创建CarbonData Table,加载数据到CarbonD ...

  6. java写入carbondata_Apache CarbonData 1.4.0 中文文档

    安装指南 本教程将指导你通过以下两种模式安装和配置 CarbonData: 其次是 : 在 Spark 独立模式集群上安装和配置 CarbonData 前置条件 Hadoop HDFS 和 Yarn ...

  7. carbondata与mysql_CarbonData实践(一)

    前言 CarbonData 拥有不错的明细查询能力,比如简单的where条件过滤,性能大概是Parquet的20倍.数据的聚合分析方面,如果有不错的where过滤,则相当一部分查询也是快于Parque ...

  8. 云小课|MRS基础原理之CarbonData入门

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:CarbonDat ...

  9. 快速生成sparksql创建carbondata表结构(同步mysql或sqlserver数据)脚本

    前言 当实时同步mysql或sqlserver很多表数据到carbondata时,经常要手动调整脚本涉及到的每个表的字段.类型及对应建表语句,耗费大量的机械比对粘贴复制工作时间.精力,下面介绍的脚本能 ...

最新文章

  1. [问题]DotNet 项目如何实现在构建时 Build 号自动增加?
  2. Joomla和Drupal简介
  3. 第十六届全国大学生智能车竞赛创意组别-航天智慧物流
  4. echarts空数据如何设置_拼多多分时折扣如何设置优化?分时数据怎么看?
  5. python 信号模块 signal
  6. [转]PageRank算法
  7. 01-JDBC学习手册:JDBC概述之JDBC发展、API、驱动
  8. python excel数据分析实战_一次完整的数据分析实战!仅用4步,效率吊打Excel和Python...
  9. 主成分分析原理解释(能力工场小马哥)
  10. PyTorch 学习笔记(一):让PyTorch读取你的数据集
  11. 最流行的轻量级php框架,GitHub - meolu/zan: zan 轻量级PHP微框架
  12. mysql transaction 实践小问题
  13. Vulnerability Scanning Tools
  14. 基于Java实现宠物领养救助交流平台设计和实现
  15. YOLOv2论文中英文对照翻译
  16. pr如何跳到关键帧_(小白学PR不迷路)只要你用过PR,这些问题你一定遇到过
  17. 尚硅谷Javase项目一(家庭收支记账软件)
  18. 论文中的定理(Theorem)、引理(Lemma)、推论(Corollary)
  19. uniapp安卓离线打包--手把手教会
  20. 基于51单片机的便携式输液点滴控制报警器

热门文章

  1. 时域分析——无量纲特征值含义一网打尽
  2. UR机器人(3)-精确设定TCP以及有效负载
  3. 重采样 resample
  4. verilog 4位16位任意位超前进位加法器
  5. 计算机文化基础(高职高专版 第十一版)第八章答案
  6. 世界道路协会PIARC五个在线技术手册
  7. 数值计算方法【误差和有效数字】(1/7)
  8. 仿蘑菇街,京东,苏宁易购,海尔商城等33套大气购物商城网站模板,附源码免费下载地址...
  9. 2023年19个数学建模竞赛重磅来袭!!!
  10. jpg转pdf转换器 注册码