面试包介绍

最具挑战性的挑战莫过于提升自我! —— 迈克尔·F·斯特利

无处不在的大数据

大数据早已不是什么新鲜事物,比如在国内一线互联网大厂早有应用。比如,我们熟知淘宝的双十一大屏数据,头条的个个性化推荐等应用。

但是,在很多二三线城市,中小型公司基本上没有处理大数据的能力。

自从提出大数据之后,软件行业产生了一些新兴的岗位,如算法工程师,大数据工程师。

大数据工程师可以从事对大量数据的采集、清洗、分析、治理、挖掘,并对这些数据加以利用、管理、维护和服务的相关技术工作。(百度百科)

大数据工程师更加偏向于算法和抽象数据的分析和处理。传统的软件工程师更加偏向于业务代码的实现。

物以稀为贵,大数据的工程师的价位不菲,几乎是传统工程师2~3倍。再加上大数据的门槛,比如要学习python,要学习很多数学公式,让很多传统软件工程师望而生畏。

笔者接触大数据也是基于一个工作上的契机。因为公司业务的需要,公司高层希望建立APP用户画像,并能有针对性的为顾客做一些智能化商品或者内容推荐。

因为部门研发人员基本上都是从事业务代码编写,对大数据这一套并没有实践经验。通过,一番学习打卡,再加上和阿里,亚马逊等技术大神多次交流,集合整个团队智慧,总算搭建了一套可以跑起来的推荐系统。

在这个过程中,其实涉及的语言和中间件很多,比如Java,python,embedding(特征抽取),tensorflow框架,离线和在线计算等。数据处理引擎涉及到Spark,flink等。

本系列聚焦于Spark框架相关知识点,特别是常见算子的学习。这些都是面试和实际应用中应用较多的知识点。

Apache Spark 生态系统以Spark处理框架为核心,在上层构建了面向SQL语言的Spark SQL框架,面向大规模图计算的GraphX框架,面向大规模机器学习的MLIb框架及算法库,以及面向流处理的Spark Streaming框架。在下层,Spark及其关联社区也推出了相关存储系统,如基于内存分布式文件系统Alluxio,支持ACID事务的数据湖Delta Lake等。



能够提供什么

笔者从事互联网软件开发十多年,有多年技术招聘和带团队经验。

传统教程注重有理论性和大而全,学习周期长,不易落地。

而本系列以面试或者实际应用中的问题为突破点,有的放矢的结合实际应用场景,帮助新手梳理出知识要点,“取其精华,去其糟粕”。

同时,题目中的每个代码(demo)都是上机验证通过的,读者可以复制调试。避免初学者走弯路,提高效率。

受众

  • 新手小白

  • 对大数据有兴趣的同学,工作中有需要大数据的IT人士。

  • 想学习大数据的传统程序员

最后

为了提升学习效率,这里推荐一些大数据相关资料

  • 《大数据处理框架Apache Spark 设计与实现》
  • 《深度学习推荐系统》