前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据十年,十年爬坑之路

大数据十年,十年爬坑之路

作者头像
挖数
发布2019-11-12 22:10:01
1K0
发布2019-11-12 22:10:01
举报
文章被收录于专栏:挖数挖数

近年来,大数据技术的发展,不论是技术迭代,还是生态圈的繁荣,都远超我们的想象。从 Spark 成为 Hadoop 生态的一部分,到 Flink 横空出世挑战 Spark 成为大数据处理领域的新星,大数据技术的发展可谓跌宕起伏,波澜壮阔。

在大数据领域,能把技术想明白,用明白的开发者太少了,一些中小型公司的技术 VP ,往往也是在“赶技术的时髦”的状态中,更别说普通的开发者。

挖数的朋友在某互联网大厂从事大数据开发工作,他有九年数据仓库与大数据平台开发、架构经验,曾参与过电商网站用户分析项目、实时交易监控系统项目。今天把他工作十余年总结的经验见闻和学习的成果做了系统的总结分享给大家。

大数据开发,有几个阶段:

  • 1.数据采集【原始数据】
  • 2.数据汇聚【经过清洗合并的可用数据】
  • 3.数据转换和映射【经过分类,提取的专项主题数据】
  • 4.数据应用 【提供api 智能系统 应用系统等】

数据采集

数据采集有线上和线下两种方式,线上一般通过爬虫、通过抓取,或者通过已有应用系统的采集,在这个阶段,我们可以做一个大数据采集平台,依托自动爬虫(使用python或者nodejs制作爬虫软件),ETL工具、或者自定义的抽取转换引擎,从文件中、数据库中、网页中专项爬取数据,如果这一步通过自动化系统来做的话,可以很方便的管理所有的原始数据,并且从数据的开始对数据进行标签采集,可以规范开发人员的工作。并且目标数据源可以更方便的管理。

数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。如何将他们规整的、有方案的整理进我们的大数据流程中也是必不可缺的一环。

数据汇聚

数据的汇聚是大数据流程最关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产了,到了一定的量就是一笔固定资产。

数据汇聚的难点在于如何标准化数据,例如表名标准化,表的标签分类,表的用途,数据的量,是否有数据增量?,数据是否可用? 需要在业务上下很大的功夫,必要时还要引入智能化处理,例如根据内容训练结果自动打标签,自动分配推荐表名、表字段名等。还有如何从原始数据中导入数据等。

数据转换和映射

经过数据汇聚的数据资产如何提供给具体的使用方使用?在这一步,主要就是考虑数据如何应用,如何将两个?三个?数据表转换成一张能够提供服务的数据。然后定期更新增量。

经过前面的那几步,在这一步难点并不太多了,如何转换数据与如何清洗数据、标准数据无二,将两个字段的值转换成一个字段,或者根据多个可用表统计出一张图表数据等等。

数据应用

数据的应用方式很多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。

总结:大数据开发的难点

大数据开发的难点主要是监控,怎么样规划开发人员的工作?开发人员随随便便采集了一堆垃圾数据,并且直连数据库。短期来看,这些问题比较小,可以矫正。但是在资产的量不断增加的时候,这就是一颗定时炸弹,随时会引爆,然后引发一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值下降,客户信任度变低。

0转型大数据你要知道的那些事

首先是需要你有编程基础的,从技术层面来说,编程语言(Java,python,R,Go语言 ...)。这些对于大数据开发来讲只是一个工具而已,都具备显著的特点,其中Python和Java更具备广泛的应用领域。所以往大数据开发方向发展,你只需要掌握一门基本语言(java/python/scala)。很多人都在想,我完全不懂大数据就靠这些基础就能学习了吗?实际上大数据开发看上去需要学习的组件很多,但是只要有一定的编程基础,从零开始掌握各个组件的基本应用并不难,掌握应用了再去了解底层调优和源码就会简单很多了。

目前来看Java转型大数据是最容易的,如果你已经具备Java开发工作经验,并且还接触过一定的大数据知识,那你一定要珍惜这次机会。

而且大数据开发这块年龄影响比较小,大数据虽然属于IT行业,但其对于年龄的限制并不大,而这就让而立之年的人没有了后顾之忧,不必为自己的年龄而担忧。目前,已经有很多大龄的老开发人员进入了大数据行业

1. 大数据基础及工具

掌握Linux必备知识,熟悉Python的使用与爬虫程序的编写,搭建Hadoop(CDH)集群,为大数据技术学习打好基础。

  • Linux必备知识
  • Docker安装与使用
  • Python基础及网络爬虫讲解
  • 分布式协调基石框架:Zookeeper
  • 大数据集群搭建

2. HADOOP专题

掌握离线数据处理的流程、架构及相关技术的运用。掌握大数据核心基础组件:HDFS,MapReduce及YARN。

  • 大数据基石框架:Hadoop
  • 离线批处理:Hive
  • 数据采集:flume

3. SPARK专题

Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,大数据的学习需要从理论到核心源码全面掌握主流通用大数据处理框架:Spark

4. 实时计算专题

熟悉实时处理的应用场景,掌握实时数据处理的流程、架构及相关技术的运用。掌握实时通用处理框架、Flink及实时主流技术组件:Kafka、Hbase。

  • 分布式消息系统:Kafka
  • 新一代通用处理框架:Flink
  • 高性能分布式数据库:Hbase

5. 数仓专题

讲解数据仓库背景知识,常用数仓模型,ETL主流工具Sqoop,Kettle,Oozie和Azkaban。掌握数据仓库搭建过程及具体技术的应用。

  • 数仓概要知识、建模理论、数据治理
  • 数仓ETL工具:Sqoop、Kettle
  • 数仓任务调度工具:Azkaban

6. 搜索与推荐专题

了解了搜索和推荐两大互联网公司必有的大数据应用系统的通用架构,常用算法和相关技术。

  • 全文搜索引擎ElasticSearch
  • 推荐理论

7. 机器学习算法专题

机器学习为现阶段大数据重要处理方式,这一部分我们要掌握常用机器学习算法思想、过程和在实际问题中的应用

  • 机器学习概要
  • 分类问题常用算法
  • 预测问题常用算法

8. 其他组件与场景运用

  • 生产应用相关
  • 交互式查询

(文章末尾可以免费领取以上内容试听哦~)

05

为什么要设计这个体系

帮助程序员技术进阶。对标阿里 P7设计,是带着代码的真枪实弹的架构设计。毫不夸张地说,能完整掌握这些内容,你就能比肩国内大厂一线大数据工程师。同样是结合实战案例,讲解在商业实战中所必备的一些项目,必需的一些基础知识。这些案例紧贴应用,可能就是你的团队明天会碰到的问题。

解决程序员中年焦虑,从此不害怕结构优化。帮助老开发实现新的职业发展之路。结构优化,懂得都懂,前有华为裁掉34岁开发后有阿里蒋凡提出P8控制在35岁以内。但大数据从业并无对年龄的歧视,而这就让而立之年的开发们没有了后顾之忧,不必为自己的年龄而担忧被结构优化。

着重培养你的技术远见。未来是大数据与AI的时代,是否能现在就开始准备应对10年后人类社会的技术挑战,薪资、职位更上一层楼,也是你拉开与别人差距的重要一环。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 挖数 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档