专栏首页小数志从事大数据岗位,个人常用的Apache顶级项目

从事大数据岗位,个人常用的Apache顶级项目

导读

年前,个人换了大数据岗位,目前主要从事大数据分析和大数据算法相关工作。在前期数据分析师岗位的基础上,虽然只是增加了一个"大"字作为前缀,但所涉及的技术栈和工作理念其实还是有很大变化的,其中打交道最为频繁的当从一个关键词说起:Apache。

Apache:世界上最大的开源软件基金会

01 关于Apache

Apache是一个成立于1999年的非盈利性组织,其所属软件基金会(ASF:Apache Software Foundation)致力于为开源软件项目(前提是该项目已列入到Apache项目)提供服务和支持,得益于其良好的管理和宏伟的愿景,Apache目前是世界上最大的开源软件基金会组织。当然,Apache软件基金会的资金主要来源于个人和企业的捐助。

以上截图源于Apache官网

从中可以看到这样一组数字:

  • 维护350+个项目和提案
  • 300+顶级项目
  • 管理227M+行代码(2.27亿+)
  • 4.2B+行代码更改(42亿+)
  • 3.9M+代码提交(390万+)
  • 社区参与人数46万+
  • ……

作为一名程序员,看到这些以K、M、B(billion)来计数的内容,总是难免心生波澜心存敬畏……更重要的是不仅数量庞大,而且Apache所涉猎领域还众多,按照Apache官网分类有27个子类,我个人日常工作中涉及到的主要是big-data所在分类,所以本文就来简要介绍一下几个常用的Apache顶级项目,大多属于大数据范畴。

02 频繁打交道的几个Apache顶级项目

个人目前从事工作内容包括大数据分析、大数据算法以及部分大数据开发相关,所用到的技术栈主要包括:

1)Hadoop:提起大数据想必人人皆知Hadoop,狭义的讲,hadoop是yarn资源调度+hdfs分布式存储+mapreduce两阶段分布式计算的技术集成;广义的讲,hadoop其实已经代表了以hadoop为核心的一套大数据技术生态,除了hadoop自身,还包括Hbase列式存储、Hive数仓、Spark分布式计算等等。在实际工作中,用到的主要是其hdfs存储和yarn资源调度功能;

2)Hive:大数据的核心是存储和计算,hadoop的hdfs提供了底层的分布式文件存储,而对这些存储映射为结构化数据并提供类SQL查询的组件则是Hive,其与关系型数据库(RDB)在数据方式和查询语法上都较为相近,但同时又有着很多本质上的区别:例如Hive是OLAP(面向主题),记录了大量历史数据,可能存在重复和冗余,主要操作是插入和查询数据;而关系型数据库则是OLTP(面向事务),实时记录了最新数据,一般遵循数据库设计6大范式(至少遵循前3个范式),全面支持增删改查。正因为Hive的HQL语法与常用的SQL语法极为相近,所以学习成本较低,使用起来更容易上手;

3)Spark:Hive提供了一定的数据分析能力,但在执行效率和功能方面都还存有一定短板,所以Spark出于Hive而胜于Hive(Spark的早期版本Shark是基于Hive的)应运而生,由于采用了内存式计算设计,相较于Hadoop中的MapReduce两阶段计算框架而言,有着上百倍的效率提升,更重要的Spark支持4种语言API(Java、Scala、Python和R),对标数据处理阶段涵盖批处理、流处理、机器学习以及图计算,可谓是提供了多语言一站式分布式计算方案,使用起来还是较为方便的;

4)Parquet:parquet实际上只是一种数据存储文件格式,具有较高的压缩比,所以存储体积更为小巧。其标志性特点就是列式存储,读取和存储的parquet文件自带Schema信息,但是要求不能存在列名重复。与txt、csv类的通用文件格式不同,parquet文件可能也算是大数据中的一个标志性文件类型,甚至称的上是文件存储格式的标准;

5)Maven:maven是一个项目构建工具,个人在构建Scala项目中会有所应用。通过Maven构建的Scala项目,其最大的优势在于项目文件目录更为清晰,严格按照src-main/test-scala类的格式建立和管理项目文件,更重要的是通过配置pom文件,可方便的管理项目中的依赖,实现自动下载和导入,使用起来更为简洁方便。

6)Zeppelin:用Python做数据分析的应该都知道Jupyter,与之类似,用Spark做数据EDA的最好工具当属Zeppelin:通过设置不同的解释器路径,可以提供一个多语言的交互式分析环境,包括spark的各语言环境、scala、python以及SQL等,在SQL解释器下还支持简单的数据可视化能力。不过坦白的讲,对于习惯了jupyter的用户而言,可能会觉得zeppelin的快捷键支持和界面功能方面都还有待提升;

当前zeppelin最新版本为0.9.0

7)Airflow:Airflow是一个调度管理工具(因其最早源于Airbnb公司,所以名字含有air),现也是Apache顶级项目,功能有些类似于linux下的定时任务调度工具crontab,但功能更为完备,包括提供了多种类型调度任务、可通过WEB UI便捷管理、支持分布式多节点执行等。个人目前将其余mlflow配套使用,共同完成从数据预处理到特征构建直至算法建模输出整个流程的调度使用,目前仍在持续探索中。

本文分享自微信公众号 - 小数志(Datazhi),作者:luanhz

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2021腾讯犀牛鸟开源人才培养计划扬帆启航!

    5月20日晚,2021年度首届“腾讯犀牛鸟开源人才培养计划线上启动会·暨开源专家讲坛”正式开始。在这个特殊的日子,用一种特别的方式开启了“520·我爱开源”的...

    腾讯高校合作
  • 2021数据科学就业市场最全分析:Python技能最重要,5到10年经验最吃香

    作者:Sujan ShirolR、oberto Iriondo 机器之心编译 编辑:蛋酱、杜伟

    机器之心
  • 数据猿专访 | Kyligence联合创始人兼CEO韩卿:解密中国大数据界的“神兽”

    <数据猿导读> Apache软件基金会支持孵化的项目300多个,顶级项目162个。而Apache Kylin是其中唯一一个由中国团队贡献的顶级项目。数据猿记者有...

    数据猿
  • Apache ShardingSphere 社区的探索与拓展

    Apache ShardingSphere社区受邀参与了11月9日在清华大学举办的《Apache Event——走进Apache开源软件社区》的分享活动。在活动...

    开源社
  • 陈天奇的Octo ML公司招新啦!想加入「XGBoost先驱」的团队吗?

    大家还记得那个开发了 SVDFeature,XGBoost,cxxnet等著名机器学习工具、Distributed (Deep) Machine Learnin...

    新智元
  • 64岁Python之父重返职场:退休太无聊,我去微软打工

    一位64岁的世界级顶级程序员在去年退休了,这就是Python语言之父Van Rossum,人们亲切的称他为龟叔。Python已经是世界最流行的编程语言,因为在其...

    肉眼品世界
  • 那些没成为物理学家的PhD们,后来都去了华尔街

    量化投资与机器学习微信公众号
  • Apache基金会正式宣布新一代分布式对象存储Ozone成为顶级项目

    刚刚获悉,Apache基金董事会通过一致表决,正式批准分布式文件对象存储Ozone从Hadoop社区孵化成功,成为独立的Apache顶级开源项目。这意味着,作...

    腾讯开源
  • 让安全攻城狮增值的五大职业技能

    网络安全攻城狮并非单纯的码农,他们需要的不仅是技术,还有安全以及相关行业的知识,因此Python、Hadoop、MongoDB以及其他一些大数据分析工具就派上了...

    FB客服
  • Apache Dubbo 的毕业之旅

    2018年2月16日,Apache Dubbo 加入 Apache 基金会孵化器。

    JAVA葵花宝典
  • AI 百万级人才缺口:应届生年薪 50 万,没出校门被抢光

    60多年来,人工智能产业发展经历三起三落,如今可谓到了一日千里的发展速度,现阶段的人工智能领域,最赚钱的可能是里的“人工”生意了,因为人工智能领域的人才,太短缺...

    钱塘数据
  • 那些干通信的年轻人,最终都去了哪儿?

    每年有很多年轻人从大学毕业,进入行业,想努力往金字塔顶端走。但是,越往上,空间越狭小,竞争越激烈。

    鲜枣课堂
  • 算法同学从学校到实习,需要改变什么

    自从2016年谷歌的AlphaGo战胜了世界围棋冠军李世石之后,企业对于人工智能和算法的岗位越来越重视,使得算法岗也越来越被大学生所重视,很多同学到开始加入到转...

    黄鸿波
  • 初识Hadoop

    Hadoop这个名字并不是什么具有实际意义的单词,而是Hadoop项目作者的孩子给一个棕黄 色大象玩具的命名

    端碗吹水
  • 为什么一个开源项目这么难 No.124

    今天刚好群里有朋友在问,你们为什么开源了 Apache Dubbo,你们内部是不是有更好的闭源的实现吖?看过《淘宝技术这十年》的小伙伴都知道,内部其实很多部门都...

    大蕉
  • 程序员如何写一份合格的简历?(附简历模版)

      姓名,出生年月,联系方式,籍贯,电子邮件,政治面貌,毕业院校,专业,求职意向(选填),期望工作地点(选填)。

    嵌入式与Linux那些事
  • Baruch量化职业发展报告:一半时间在编程!

    巴鲁克学院(Bernard M.Baruch College,CUNY)是一所以商科著名的位于美国纽约市曼哈顿的公立大学。其金融工程硕士项目,被誉为美国顶尖金工...

    量化投资与机器学习微信公众号
  • 时代的需要:越来越多的Java工程师开始转向hadoop?

    Hadoop是Apache软件基金会的顶级开源项目,是由原雅虎公司Doug Cutting根据Google发布的学术论文而创建的开源项目。Doug Cuttin...

    挖掘大数据
  • 大数据技术学习路线指南

    要说当下IT行业什么最火?ABC无出其右。所谓ABC者,AI + Big Data + Cloud也,即人工智能、大数据和云计算(云平台)。每个领域目前都有行业...

    用户2292346

扫码关注云+社区

领取腾讯云代金券