zoukankan      html  css  js  c++  java
  • ORCFILE,ParquetFile,CubeFile使用场景区别

    这个其实是转自杭州第三次spark meetingup,华为的李昆大神的分享。

    OLAP分析场景 ORC File Parquet File Cube File
    Full scan one dimension Fast  Fast Median
    (Low Cardinality) (只扫需要的列) (只扫需要的列) (只扫需要的列,但MDK较大)
    Full scan one dimension Slow Slow Fast
    (High Cardinality) (Stripe Level字典编码,需要重复解码) (Row Group Level字典编码,需要重复解码) (全局字典编码,无重复解码)
    Full scan multiple dimension aggregation Slow Slow Fast
    (读取多行并做join) (读取多行并做join) (星型模型转换后无需join)
    Filter single dimension Slow Very Slow Fast
    (需要全扫描单列,可利用min/max跳过Stripe) (需要全扫描单列,无索引) (利用多维索引)
    Filter multiple dimensions Slow Very Slow Very Fast
    Select Year,ServiceName,  (需要全扫描多列,可利用min/max跳过Stripe) (需要全扫描多列,无索引) (利用多维索引)
    Filter on Measure Slow Slow Slow
    (需要全扫描,可利用min/max跳过Stripe) (需要全扫描,无索引) (度量上无索引,需要全扫描)

    排版有些乱,大家凑合看一下。

    从这个比较来看,大基数的全量多维的查询,CubeFile的优势是很明显的。

    个人感觉,最大原因是ORCFile和ParquetFile他们是分块索引数据的,而CubeFile是全量索引数据的。现在理解的还比较浅,等深入理解后再来论这个的区别和关系。

  • 相关阅读:
    PHP之常用设计模式
    MySQL之慢查询日志和通用查询
    mysql之找回误删数据
    PHPer未来路在何方...
    如何成为更优秀的程序员
    常见的 CSRF、XSS、sql注入、DDOS流量攻击
    API接口TOKEN设计
    成为更好的程序员的八中途径
    奉秉格言
    PHP优化与提升
  • 原文地址:https://www.cnblogs.com/hark0623/p/4447774.html
Copyright © 2011-2022 走看看