当前位置: 首页 » 风电资讯 » 风电百科 » 正文

技术人员的出路在哪里(技术者门)

放大字体  缩小字体 发布日期:2023-02-21   来源:风电网   作者:海上风电   浏览次数:118
核心提示:2019大数据技术公开课第一季《技术人生专访》来袭,本季将带领开发者们探讨大数据技术,分享不同国家的工作体验。本文整理自阿里巴巴计算平台事业部高级技术专家吴刚的专访,将为大家介绍Apache ORC开源项目、主流的开源列存格式ORC和Parquet的区别以及MaxCompute选择ORC的原因。此外,吴还将分享他是如何一步步成为Apache开源项目的Committer和PMC的。以下内容根据演讲视频以及PPT整理而成。个人简介吴刚,阿里巴巴计算平台事业部高级技术专家 ,Apache顶级开源项目ORC的PM

   

2019大数据技术公开课第一季《技术人生专访》来袭,本季将带领开发者们探讨大数据技术,分享不同国家的工作体验。
本文整理自阿里巴巴计算平台事业部高级技术专家吴刚的专访,将为大家介绍Apache ORC开源项目、主流的开源列存格式ORC和Parquet的区别以及MaxCompute选择ORC的原因。
此外,吴还将分享他是如何一步步成为Apache开源项目的Committer和PMC的。
以下内容根据演讲视频以及PPT整理而成。
个人简介吴刚,阿里巴巴计算平台事业部高级技术专家 ,Apache顶级开源项目ORC的PMC ,目前主要负责MaxCompute平台存储线 相关工作。
之前就职于Uber总部,从事Spark和Hive等相关工作。
一、Apache ORC项目介绍以及阿里巴巴对于ORC项目的贡献Apache ORC Project正如Apache ORC项目官网所介绍的,Apache ORC是Hadoop生态系统中最快、最小的列式存储文件格式。
Apache ORC主打的三个特性包括支持ACID,也就是支持事务,支持内置索引以及支持各种复杂类型。
ORC AdopterApache ORC有很多的采用者,比如大家所熟知的Spark、Presto、Hive、Hadoop等开源软件。
此外,在2017年,阿里巴巴MaxCompute技术团队也开始参与到Apache ORC项目的工作中,并将ORC作为MaxCompute内置的文件存储格式之一。
TimelineApache ORC项目的大致发展历程如下图所示。
在2013年初的时候,Hortonworks开始在来替代RCFile文件格式 ,经过了两个版本的迭代,ORC孵化成为了Apache顶级项目,并且顺利地从Hive中脱离出来成为一个单独的项目。
在2017年1月,阿里云MaxCompute团队开始向ORC社区持续地贡献代码,并且使得ORC成为MaxCompute内置的文件格式之一。
Contribution from Alibaba阿里巴巴MaxCompute技术团队为Apache ORC项目做出了大量贡献,比如研发了一个完整的C++的ORC Writer,修复了一些极为重要的Bug,并且大大提升了ORC的性能。
阿里巴巴MaxCompute技术团队总共向Apache ORC项目提交了30多个Patch,总计1万5千多行代码,并且目前阿里仍然在持续地向ORC贡献代码。
阿里巴巴的技术团队中共有3个ORC项目贡献者,1个PMC和1个Committer。
在2017年的Hadoop Summit上,ORC也专门用一页PPT来点名表扬阿里巴巴对于ORC项目的贡献。
二、阿里云MaxCompute为何选择ORC?Row-based VS. Column-based对于文件存储而言,有两种主流的方式,即按行存储以及按列存储。
所谓按行存储就是把每一行数据依次存储在一起,先存储第一行的数据再存储第二行的数据,以此类推。
而所谓按列存储就是把表中的数据按照列存储在一起,先存储第一列的数据,再存储第二列的数据。
而在大数据场景之下,往往只需要获取部分列的数据,那么使用列存就可以只读取少量数据,这样可以节省大量磁盘和网络I/O的消耗。
此外,因为相同列的数据属性非常相似,冗余度非常高,列式存储可以增大数据压缩率,进而大大节省磁盘空间。
因此,MaxCompute最终选择了列存。
A Quick Look at ORCORC在类型系统上的建模是一个树形结构,对于一些诸如Struct这样的复杂类型会有一个或者多个孩子节点,而Map类型有两个孩子节点,即key和value,List类型就只有一个孩子节点,其他的普通类型则就是一个叶子节点。
如下图所示,左侧的表结构就能够被形象地转化成右侧的树型结构,简单并且直观。
ORC主要有两个优化指标,其一 为查询速度。
ORC将文件切分成大小相近的块,在块内部使用列式存储,也就是将相同列的数据存储到一起。
针对于这些数据,ORC提供轻量的索引支持,包括数据块的最小值、最大值、计数和空值等,基于这些统计信息,可以非常方便地过滤掉不需要读取的数据,以此减少数据的传输。
此外,ORC还支持列裁剪 (Column Projection),如果查询中只需要读取部分列,那么Reader只需要返回所需的列数据,进一步减小了需要读取的数据量。
ORC的第二个优化指标就是存储效率。
ORC采用了通用的压缩算法,比如开源的zStandard、zlib、snappy、LZO等来提高文件压缩率。
同时,ORC也采用了轻量的编码算法,比如run-length encoding、dictionary等。
How about Apache Parquet在开源软件领域中,与 Apache ORC 对标的就是Apache Parquet。
Parquet是由 Cloudera 和 Twitter 共同开发的,其灵感

 
关键词: 风电叶片 风电塔筒
 
[ 风电资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

免责声明:
本网站部分内容来源于合作媒体、企业机构、网友提供和互联网的公开资料等,仅供参考。本网站对站内所有资讯的内容、观点保持中立,不对内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如果有侵权等问题,请及时联系我们,我们将在收到通知后第一时间妥善处理该部分内容。
扫扫二维码用手机关注本条新闻报道也可关注本站官方微信账号:"风电之家",每日获得互联网最前沿资讯,热点产品深度分析!
 
 
0条 [查看全部]  相关评论

 
推荐图文
推荐风电资讯
点击排行