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

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

640.pngApache:世界上最大的开源软件基金会


01 关于Apache


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


640.png

以上截图源于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资源调度功能;


640.jpg


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


640.jpg


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


640.jpg


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


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


640.jpg


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


640.jpg

当前zeppelin最新版本为0.9.0


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


640.png


640.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
8天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
8天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之要查看MaxCompute Studio中的项目中的计算任务代码,我该怎么操作
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
8天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之该怎么创建MaxCompute的项目
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
8天前
|
存储 分布式计算 Apache
官宣|Apache Paimon 毕业成为顶级项目,数据湖步入实时新篇章!
Apache Paimon 在构建实时数据湖与流批处理技术领域取得了重大突破,数据湖步入实时新篇章!
2350 5
官宣|Apache Paimon 毕业成为顶级项目,数据湖步入实时新篇章!
|
8天前
|
分布式计算 容灾 大数据
MaxCompute( 原名ODPS)大数据容灾方案与实现(及项目落地实例)专有云
一,背景与概述    复杂系统的灾难恢复是个难题,具有海量数据及复杂业务场景的大数据容灾是个大难题。    MaxCompute是集团内重要数据平台,是自主研发的大数据解决方案,其规模和稳定性在业界都是领先的。
2123 16
|
8天前
|
分布式计算 容灾 大数据
MaxCompute( 原名ODPS)大数据容灾方案与实现(及项目落地实例)专有云
一,背景与概述    复杂系统的灾难恢复是个难题,具有海量数据及复杂业务场景的大数据容灾是个大难题。    MaxCompute是集团内重要数据平台,是自主研发的大数据解决方案,其规模和稳定性在业界都是领先的。
313 0
|
8天前
|
数据可视化 Linux Apache
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问
|
8天前
|
机器学习/深度学习 分布式计算 大数据
一文读懂Apache Beam:统一的大数据处理模型与工具
【4月更文挑战第8天】Apache Beam是开源的统一大数据处理模型,提供抽象化编程模型,支持批处理和流处理。它提倡"一次编写,到处运行",可在多种引擎(如Spark、Dataflow、Flink)上运行。Beam的核心特性包括抽象化概念(PCollection、PTransform和PipelineRunner)、灵活性(支持多种数据源和转换)和高效执行。它广泛应用在ETL、实时流处理、机器学习和大数据仓库场景,助力开发者轻松应对数据处理挑战。
30 1
|
8天前
|
传感器 数据采集 监控
基于Springcloud可视化项目:智慧工地可视化大数据云平台源码
终端层,充分利用物联网技术和移动应用提高现场管控能力。通过传感器、摄像头等终端设备,实现对项目建设过程的实时监控、智能感知、数据采集和高效协同,提高作业现场的管理能力。
36 5
|
8天前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
257 0

热门文章

最新文章

推荐镜像

更多