★小柯★ 发表于 2023-10-4 19:10:26

怎样进行大数据的入门级学习?

请问有什么好的方式、材料、心得等?

yyctt 发表于 2023-10-4 19:11:22

全文三千多字,建议收藏后反复观看。
0. 当我们想学大数据时,我们到底想学什么?

当我们说学习大数据时,我们得问问自己,到底是学习什么?

[*]是不是学习怎么观察大数据和表现大数据?
[*]是不是怎么才能装下这么大的数据?大数据存在哪里?大数据怎么取出来用?
[*]还是学习从大数据中挖掘深层信息,从而驱动业务增长?


http://pic1.zhimg.com/v2-09c852d6ff4cf9600c570893bf72c2cf_r.jpg?source=1940ef5c
其实都可以是。上面三个问题,分别对应三个岗位要解决的问题,分别是:

[*]数据分析师。能在拥有行业知识、理解公司业务及流程的情况下,从数据中发现问题,给出自己独到的见解。
[*]数据工程师。数据太多了?选择什么数据容器?数据怎么给到下游?
[*]数据科学家。负责利用大数据建模,从中挖掘有用信息。有的公司也会称之为算法工程师,或者机器学习工程师,至于工作内容,可能不同公司直接会稍有差异。
你可以根据自己内心想学的东西,来确定选择的方向。当然,有没人能三个方向都精通?我相信有,但凤毛麟角,至少在我有限的职业生涯里,还没见到这种多面手,毕竟一个人的精力有限。对于新手而言,还是先不要想着一口吃成个胖子。
如果实在没有头绪,不知道从哪学起怎么办?这三种岗位是否有一些共同的技能或者知识,而且学习了这些知识能让我们更好的选择方向?好消息是,有的。
不论是数据分析师,数据工程师,还是数据科学家,多多少少都涉及到一点彼此的知识领域。如果把对大数据的能力要求做个频谱,那么将如下图这样。蓝绿黄分别对应数据分析师,数据工程师,还有数据科学家的能力频谱。这个图仅仅是大概描述,并不精确,例如有的数据科学家可能更偏分析方向,有的数据科学家更偏工程。

http://picx.zhimg.com/v2-75ee8483ccab79160380fb8f7e72f866_r.jpg?source=1940ef5c
1. 学习交集部分,一石三鸟

从上图里我们可以看到三个岗位直接还是有一点交集的。那么我们从这个交集出发,是否能更快的入门?当然可以。那么,这个交集里到底有什么呢?个人认为,有以下内容。
1.1 数学

包括两部分,概率论和线性代数。虽然不同岗位对数据要求不一样,但基础的部分最好都掌握一下。
概率论部分你需要掌握这些知识,这里只列举了一些在面试中常考察的知识点,仅作为抛砖引玉:

[*]均值与方差及其公式
[*]什么是正态分布
[*]贝叶斯公式
[*]什么是高斯分布
[*]独立和依赖事件
线性代数部分,这里考虑到大家仅仅是为了入门大数据,所以不把更复杂的知识点列出来。但无论你做什么方向,你得了解这些最基本的:

[*]什么是向量
[*]点积
[*]矩阵相乘
[*]转置矩阵,逆矩阵
1.2 AI相关知识

如果你打算做数据科学家,我推荐吴恩达的机器学习课程。这可谓是最经典的热门课程了,全球有几百万人注册了。

http://pic1.zhimg.com/v2-aeb0fcb4c85de594fbd2e5082c0bb3f3_r.jpg?source=1940ef5c
如果你不打算做数据科学家,你可以看看吴恩达的《AI for everyone》,一门非技术的导论课程,可以帮助你了解一些基础AI知识。

http://picx.zhimg.com/v2-92c64d3db3d0648ed062207be6112dbb_r.jpg?source=1940ef5c
1.3 数据分析相关知识

数据分析技能我认为还是比较通用的,即使你不是做大数据相关的,数据分析的能力也能给你职业发展助力。其实,与其说数据分析是一种思维,我认为数据分析更像是一种思维模式。
数据分析所需的能力包括:

[*]互联网行业的常见指标:DAU,GMV,ARPU,用户留存指标,转化率等等,这里就一一介绍了,不然可以列个几千字。
[*]常用的分析思维模型方法,例如:5W2H分析法,逻辑树分析法,RFM分析等等。
但数据分析相比起数据科学和数据工程而言,工具很容易掌握,但怎么运用才是难点。
1.4 Excel、Python和SQL
这几个工具类的一起讲。

[*]搞技术的可能看不上Excel,觉得太低级。但实际上,Excel的优势在于通用性。你作为技术人员,你先阐述你的观点,想发报告给运营部门汇报你的发现,你总不能发一段代码过去吧?因此学会excel基本的一些操作非常重要,包括常用的公式和操作,例如求和,求平均,VLOOKUP,转置表格等等。如果你有买前面那个0.1元的课程,里面也会讲到一些excel分析的内容,都是比较实用的。
[*]Python现在已经是最火的语言了,因为足够简单,能做的事情也多,因此甚至很多公司找数据分析师时都要求Python了,因为Python比起Excel来说,虽然涉及到了编程,但灵活性也更高,无论是数据分析还是数据可视化,都有很多好用的包。虽然也有公司在招聘数据分析师时不需要懂Python,但我个人感觉,未来会越来越多公司招聘数据分析师要求懂Python,所以,学一下吧。
[*]SQL的话,无论你做大数据哪个方向,现在基本都要了。即使你是数据分析师,你也不能等着数据工程师给你写SQL帮你取数吧?所以基本的一些SQL语句,例如表的增删改,表直接的各种join这些基本操作,最必须掌握。

2. 怎么深入学习更进一层楼

2.1 数据分析师:我到底该分析什么

我的第一个建议是:选择行业。毕竟不同行业,业务肯定不一样,要分析的内容不完全一样。如果是传统企业,可能更偏重销售分析,你可能更多的的利用RFM模型,
第二个建议是:学点技术。据我观察,这几年Python和SQL慢慢成为数据分析师的标配,尤其是互联网行业。即使你已经当了几年的数据分析师,如果你还没学过Python和SQL,最好还是学一点,增强一点竞争力。
入门书籍方面,我看过两本,挺不错,对我很有启发。
第一本是《深入浅出数据分析》。配图很丰富,语言很幽默,很适合初学者入门。

http://pica.zhimg.com/50/v2-13a99d54e40d175199238b78ad2042e5_720w.jpg?source=1940ef5c
第二本是《数据分析之道:用数据思维指导业务实战》,会更偏业务多一点,纯新手也可以看,但如果你有1-3年的数据分析师经验,看起来会更有收获。

http://pic1.zhimg.com/v2-ba7553c68bb74294e6800a2b4c397fe1_r.jpg?source=1940ef5c
《数据分析之道:用数据思维指导业务实战》【摘要 书评 试读】- 京东图书
2.2 数据工程师:大数据,你让我又爱又恨

大数据就好像大海,深不见底,但令人神往。处理得好,就能乘风破浪;处理不好,则葬身大海。那么怎么才能在这迷人的深海里驰骋呢?

[*]编程方面:除了Python,我建议还得学习下Scala,因为你很大概率会用到Spark,而Scala是其原生语言。
[*]存储:Hadoop HDFS,Hive,HBase等
[*]处理:Spark Streaming,MapReduce等等
[*]计算资源管理:YARN,Mesos等
实际上,大数据处理的工具有上百种,这里仅列举了几种常用的。不过他们解决的问题是相近的,就是:怎么让数据分布在高效多个机器上,且调用时最方便。只要你掌握了一部分工具,你就会发现,其他工具似乎变得不难学了。

2.3 数据科学家:技术和艺术的结合

作为数据科学家,最重要的技能是机器学习。机器学习主要学习的内容有三个:

[*]监督式学习(supervised learning):需要标记数据
[*]非监督式学习(unsupervised learning):不需要标记数据.代表算法:k-means
[*]强化学习(Reinforcement Learning): 如何基于环境而行动,以取得最大化的预期利益。
当然,现在还有半监督学习,自监督学习等等,但它们的基础也是上面讲到的几种方式。讲入门机器学习,我得讲个几千字,恰好我之前写过一篇很详细的机器学习入门路线,大家可以参考下:
如何系统学习机器学习?编程语言方面:Python(最常用), R(少数公司用)。软件有的公司会自建Data Science Studio.也有很多服务提供商提供了DSS,例如DataRobot, Dataiku等。但建议不要依赖语言。Jupyter notebook是比较适合调试python 的工具,很多课程上会讲到。
数据科学家虽然带了「科学家」三个字,但其实并非真正的科学家,只是做数据科学的工程师,因此,技术很重要。但是,数据科学又不完全是工程,它需要耐心,从看似杂乱的数据中找到金子,这一点又像雕塑家,因此,也有点艺术的感觉。如果你做数据科学家时能感受到技术的魅力同时还感受到艺术的美感,那么恭喜你,走上正道了。

不要停止学习

Data is the new petrol。每年都有新的算法出现。我当年找工作时,《Attention Is All You Need》还没出来,大家讲深度学习,主要集中研究NLP和CV领域,大家都用LSTM/CNN,效果不行,就加layer。
后来《Attention Is All You Need》出来了,Transformer开始横扫NLP领域。随着ViT的出现,Transformer也开始在CV领域大展身手。这都是我刚入行时没想到。现在很多问题直接上transformer,就能得到很好的表现。
大数据工程框架也是一样。数据库装不下了,就数据仓库,数据湖,后面又发展到了湖仓一体。数据处理方式,从批处理,流处理,发展到现在流行的流批一体,也就是几年之间的事。
可以看到,在大数据领域,学会怎么保持学习能力,比学会具体的能力更为重要。
请不要停止学习。Keep Learning!

http://picx.zhimg.com/v2-ed8f3300a0115ec14c2fbdafb5a6fb3f_r.jpg?source=1940ef5c

悠游桂林 发表于 2023-10-4 19:12:05

这里提供一份数据科学精选书单,25本书从入门级到进阶,从数学到Python,再到数据挖掘、机器学习,应有尽有,任君挑选。并且都有免费电子版。(部分链接可能需要魔法)
数学类

欲学人工智能,先要打好数学基础。数学类六强选手名单如下:
统计学习导论:基于R应用

书名:An Introduction to Statistical Learning
这本书由南加州大学马歇尔商学院院长Gareth James等人出品,主要面向非数学专业的高年级本科生,硕士生和博士生。
该书内容主要由R语言实现,并详细说明了统计学习方法在现实生活中的应用实例。

http://picx.zhimg.com/v2-1773adeca3c7e17d9a64ae0ba1a62e39_r.jpg?source=1940ef5c
地址:
http://faculty.marshall.usc.edu/gareth-james/ISL/
统计思维:程序员数学之概率统计

书名:Think Stats
这本书的作者是美国计算机科学家Allen B. Downey。《统计思维》着重介绍了一些简单的技术,读者可以用真实的数据集对其进行探索。
书中使用美国国立卫生研究院的数据进行了案例研究。还有配套的GitHub仓库,提供代码示例。

http://picx.zhimg.com/v2-64958f44c432e0f2087226a7c770490d_r.jpg?source=1940ef5c
地址:
https://bit.ly/2Morui2
GitHub:
https://github.com/AllenDowney/ThinkStats2
统计学习基础

书名:The Elements of Statistical Learning: Data Mining, Inference, and Prediction
斯坦福大学数学科学教授Trevor Hastie等人出品。这本书强调的是概念而非数学本身,内文采用大量图表来展示范例。
本书涵盖的范围很广,从监督学习到无监督学习,均有涉及。

http://picx.zhimg.com/v2-17e1231d08b0b0e7c3402dcc9a7edd93_r.jpg?source=1940ef5c
地址:
https://web.stanford.edu/~hastie/ElemStatLearn/
简明贝叶斯统计

书名:Think Bayes: Bayesian Statistics Made Simple
关于贝叶斯统计的大多数书籍都是用数学符号来表达思想。这本书则用Python代码代替了数学符号,并用离散近似替代连续。
此书同样附赠配套代码实现,还有人提供了IPython notebooks版本,可以在线修改、运行代码。
地址:
https://greenteapress.com/wp/think-bayes/
IPython notebook:
https://mybinder.org/repo/rlabbe/ThinkBayes
贝叶斯方法:概率编程与贝叶斯推断

书名:Probabilistic Programming & Bayesian Methods for Hackers
这本书旨在从计算/理解第一,数学第二的角度介绍贝叶斯推断。作为一本入门书籍,本门适合非数学专业、对数学没有那么感兴趣的贝叶斯方法实践者。

http://picx.zhimg.com/v2-91092228c2e194bbf8291c4c26c6aec9_r.jpg?source=1940ef5c
地址:
http://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/
计算机时代统计推断

书名:Computer Age Statistical Inference
同样来自斯坦福大学,由Bradley Efron和Trevor Hastie两位老爷子共同打造。从经典推理理论开篇,以对统计和数据科学未来方向的推测作为结尾,这本书回顾了1950年以来数据分析革命的始末。
生存分析、逻辑回归、经典贝叶斯、随机森林、神经网络、马尔可夫链蒙特卡罗方法……在这本书中,你都能找到。

http://picx.zhimg.com/v2-da6a162db3dce1416ae6756f628e3aff_r.jpg?source=1940ef5c
地址:
http://web.stanford.edu/~hastie/CASI/
数据科学

介绍完数学,接下来正式进入数据科学部分。共有六本书推荐。
The Elements of Data Analytic Style

这本书侧重于传统统计学课程和教科书容易遗漏的细节,可作为数据科学或数据分析入门课程教材。

http://pic1.zhimg.com/50/v2-5a3fc8fd22ce8e322ee0ba8628ecc96b_720w.jpg?source=1940ef5c
地址:
https://leanpub.com/datastyle
程序员数据挖掘指南

书名:The Ancient Art of the Numerati
这是一本入门向书籍,用于学习基本的数据挖掘知识。
大部分关于数据挖掘的书都着重于理论知识的讲解,虽然理论知识非常重要,但还是有些让人望而却步。如果你是一名程序员,想对数据挖掘做一些初步的了解,那么可以选择这本书。
本书采用“边学边做”的方式编写,作者强烈建议读者动手实践每一章结尾提供的练习题。

http://pica.zhimg.com/v2-d82226567f7b00417b3862742bcc2a06_r.jpg?source=1940ef5c
地址:
http://guidetodatamining.com/
中文版:
https://github.com/yourtion/DataminingGuideBook
社交媒体挖掘

书名:Social Media Mining: An Introduction
本书将社交媒体、社交网络分析和数据挖掘集成在一起,为相关从业人员提供了一个方便的平台,以了解社交媒体挖掘的基础和潜力。
这本书适合作为高年级本科生、研究生课程,以及专业短期课程的教材,内含难度系数不等的练习,可以帮助读者加强理解。
地址:
http://dmml.asu.edu/smm/book/
数据科学的艺术

书名:The Art of Data Science
本书介绍了分析数据的过程。作者是约翰霍普金斯大学生物统计学教授Roger D. Peng和UT奥斯汀教授Elizabeth Matsui,他们在数据分析方面具有丰富的经验。

http://picx.zhimg.com/v2-fbfa7018f152b440d761eeade40e1bdc_r.jpg?source=1940ef5c
地址:
http://bedford-computing.co.uk/learning/wp-content/uploads/2016/09/artofdatascience.pdf
数据科学手册

书名:The Data Science Handbook
这本书是25位杰出数据科学家深度访谈的汇编。其中,有来自领域专家的见解、故事和建议。

http://picx.zhimg.com/v2-2dc3735113e1f5422e94b9c8c517e489_r.jpg?source=1940ef5c
地址:
https://www.thedatasciencehandbook.com/
数据科学对话

书名:Conversations On Data Science
约翰霍普金斯大学生物统计学教授Roger D. Peng,以及Stitch Fix数据科学家Hilary Parker的对话实录,主题是数据科学及其在现实世界中是如何发挥作用的

http://picx.zhimg.com/v2-83b8d88b1e88a50ac33e8a8560bc1c70_r.jpg?source=1940ef5c
地址:
https://leanpub.com/conversationsondatascience
Python

人生苦短,我用Python。学习人工智能,总是绕不开Python这一趴。
Python面向对象编程

书名:Object-Oriented Programming with Python
此书针对Python 3面向对象编程,是一本简明、权威的指南。语言简明,概念清晰。适合已经对Python有所理解的中级学习者。

http://pic1.zhimg.com/v2-0508e59a001aca2b3c2756b7fc30f622_r.jpg?source=1940ef5c
地址:
https://leanpub.com/PythonOOP
Python编程快速上手:让繁琐工作自动化

书名:Automate the Boring Stuff with Python
本书是一本面向实践的Python编程实用指南。不仅介绍了Python语言的基础知识,作者还希望通过项目实践,教会读者如何应用这些知识和技能。每一章的末尾都有习题和实践项目,附录部分提供了参考答案。
适合编程基础薄弱的初学者。

http://pic1.zhimg.com/v2-e353fa75771fdfc48f88ba2553e9c97c_r.jpg?source=1940ef5c
地址:
https://automatetheboringstuff.com/
中文版:
https://bit.ly/2PUo0Wx
Python数据科学手册

书名:Python Data Science Handbook
Python科学计算必备资料。
这本书非常适合作为解决日常问题的参考书籍,包括:处理、转换和清除数据;可视化不同类型的数据;使用数据建立统计或机器学习模型。

http://pic1.zhimg.com/v2-15402f697e979dca21e76a511bfe86a1_r.jpg?source=1940ef5c
地址:
http://shop.oreilly.com/product/0636920034919.do
Learn Python, Break Python

这本书由浅入深,从对编程的简要介绍开始,一步步引入更复杂的程序元素。面向初学者。

http://picx.zhimg.com/50/v2-d7dc8e672f8e38fe6ea2dd2971a0c3b5_720w.jpg?source=1940ef5c
地址:
https://learnpythonbreakpython.com/
Python自然语言处理

书名:Natural Language Processing with Python
本书对自然语言处理进行了易于理解的介绍。从中可以学习到如何编写适用于大量非结构化文本的Python程序。
地址:
https://www.nltk.org/book/
产品中的数据科学

书名:Data Science in Production
从初创企业到价值数万亿美元的大公司,数据科学正在最大化数据价值方面发挥着重要的作用。本书面向希望在多个云环境中构建数据产品,并开发应用数据科学技能的分析从业人员。

http://picx.zhimg.com/v2-27340e895b77b4b70b1253a5a69d0fee_r.jpg?source=1940ef5c
地址:
https://leanpub.com/ProductionDataScience
数据驱动

书名:Data Driven
介绍了Google、Linkedln和Facebook如何利用自身数据,以及沃尔玛,UPS和其他公司是如何在大数据时代到来之前,就充分利用了数据资源的案例。
地址:
https://www.oreilly.com/library/view/data-driven/9781491925454/
机器学习

接下来,进入机器学习书籍的推荐环节。
Scikit‑Learn与TensorFlow机器学习实用指南

书名:Hands-on Machine Learning with Scikit-Learn and TensorFlow
通过具体的示例,最少的理论和scikit-learn、TensorFlow这两大工具,作者将构建人工智能系统的概念和工具直观地展示了出来。同样由浅入深循序渐进,从简单的线性回归开始,一路深入到神经网络。

http://picx.zhimg.com/50/v2-0c302e458d21bdfd041f6dd100c9ee72_720w.jpg?source=1940ef5c

地址:
https://github.com/ageron/handson-ml
深入理解机器学习:从原理到算法

书名:Understanding Machine Learning: From Theory to Algorithms
本书讨论了学习的计算复杂度、凸性和稳定性、PAC-贝叶斯方法、压缩界等概念,并介绍了一些重要的算法范式,包括随机梯度下降、神经元网络以及结构化输出。
适合有一定基础的高年级本科生和研究生学习,也适合作为IT行业从事数据分析和挖掘的专业人员以及研究人员参考阅读。

http://picx.zhimg.com/50/v2-2169507160795b510c163538cad8c4ab_720w.jpg?source=1940ef5c

地址:
https://www.cse.huji.ac.il/~shais/UnderstandingMachineLearning/toc.html
强化学习简介

书名:Reinforcement Learning: An Introduction
本书对强化学习领域的关键思想和算法进行了简明清晰的说明。
地址:
http://incompleteideas.net/book/the-book.html
深度学习

书名:Deep Learning
Ian Goodfellow,Yoshua Bengio和Aaron Courville共同撰写。旨在帮助学生和从业人员全面了解机器学习,尤其是深度学习。
地址:
http://www.deeplearningbook.org/
Machine Learning Yearning

吴恩达出品。本书的重点不在于机器学习算法本身,而是如何让机器学习算法工作。

http://pica.zhimg.com/50/v2-3b5dd76b063b82490ac244b18aea1f6f_720w.jpg?source=1940ef5c
地址:
https://www.deeplearning.ai/machine-learning-yearning/
https://github.com/amusi/machine-learning-yearning-cn
数据可视化

D3 Tips and Tricks

最后推荐一本关于数据可视化的书籍。
D3 Tips and Tricks介绍了如何利用d3.js这一工具,实现数据可视化。其中包含50多个可以下载的代码示例。

http://pica.zhimg.com/v2-c7f251f60608c49aa1ede478caf98cc0_r.jpg?source=1940ef5c
地址:
https://leanpub.com/D3-Tips-and-Tricks
那么,书单在手,快点学起来吧~
博客链接:
https://towardsdatascience.com/the-best-free-data-science-ebooks-b671691e5231
—完—
@量子位 · 追踪AI技术和产品新动态
深有感触的朋友,欢迎赞同、关注、分享三连վ'ᴗ' ի ❤

快活林的猪 发表于 2023-10-4 19:12:48

最近面试了一些大数据开发的实习生,有几个计算机基础(操作系统、数据结构、编程)还不错,但是大数据相关的知识储备很薄弱,如果要有产出需要一定的培养成本。遇到这样的案例我都会纠结一下,因为ROI不是太高:一般实习生的实习期就只有几个月,往往刚培养上手,实习期差不多就结束了。好一点的可以作为校招的人才储备,但这个回本的周期也有点长,而且还得看候选人能不能达到预期的成长。但如果因此放弃给实习机会,也会比较可惜,毕竟,有扎实计算机基础的候选人本身就挺稀缺的,还要啥自行车。
我想了一下,给出一些我推荐的学习资料,如果你是一个计算机相关专业的学生,想要找一份大数据开发(数据分析、数据挖掘不在讨论范围内)的实习或全职工作,但对这个领域缺乏相关经验,可以通过下面这些资料的学习,获得所需的背景知识,这样,对于个人和企业,是一件皆大欢喜的事情。当然,这个“背景”能有多solid,得看你的个人修行:

[*]MIT课程《Distributed Systems》https://pdos.csail.mit.edu/6.824/   projects和labs设计的很好,建议仔细做一遍。
2.《Designing Data-Intensive Applications》https://book.douban.com/subject/26197294/ 这本书涵盖了大数据计算/存储所关心的大多数核心议题。
3. Spark作者Matei的毕业论文 https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-12.pdfSpark是这个领域很重要的项目,理解它设计以及所解决的问题,然后视野发散出去看到其他的方案就更好了。

ldf007 发表于 2023-10-4 19:13:46

不邀自答!
大数据方向的工作目前分为三个主要方向:

01.大数据工程师
02.数据分析师
03.大数据科学家
04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧)
由于本人曾是大数据工程师的角色,我就这个方向做一些介绍
本回答目录:
一、大数据工程师的技能要求
二、大数据学习路径
三、学习资源推荐(书籍、博客、网站)

一、大数据工程师的技能要求
附上二份比较权威的大数据工程师技能图(图侵删)

http://picx.zhimg.com/v2-2712bddb7af89f1955333486b828271e_r.jpg?source=1940ef5c

http://pica.zhimg.com/v2-4ab509dd652081d2963cf9cf2a571665_r.jpg?source=1940ef5c

总结如下:
必须技能10条:
01.Java高级(虚拟机、并发)
02.Linux 基本操作
03.Hadoop(此处为侠义概念单指HDFS+MapReduce+Yarn )
04.HBase(JavaAPI操作+Phoenix )
05.Hive(Hql基本操作和原理理解)
06.Kafka
07.Storm
08.Scala需要
09.Python
10.Spark (Core+sparksql+Spark streaming )
高阶技能6条:
11.机器学习算法以及mahout库加MLlib
12.R语言
13.Lambda 架构
14.Kappa架构
15.Kylin
16.Aluxio
二、学习路径
由于本人是从Java开发通过大概3个月的自学转到大数据开发的。所以我主要分享一下自己的学习路劲。
第一阶段:
01.Linux学习(跟鸟哥学就ok了)
02.Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)
第二阶段:
03.Hadoop (董西成的书)
04.HBase(《HBase权威指南》)
05.Hive(《Hive开发指南》)
06.Scala(《快学Scala》)
07.Spark (《Spark 快速大数据分析》)
08.Python (跟着廖雪峰的博客学习就ok了)
第三阶段:
对应技能需求,到网上多搜集一些资料就ok了,
我把最重要的事情(要学什么告诉你了),
剩下的就是你去搜集对应的资料学习就ok了
当然如果你觉得自己看书效率太慢,你可以网上搜集一些课程,跟着课程走也OK 。这个完全根据自己情况决定。如果看书效率不高就很网课,相反的话就自己看书。
三,学习资源推荐:
01.Apache 官网
02.Stackoverflow
04.github
03.Cloudra官网
04.Databrick官网
05.过往的记忆(技术博客)
06.CSDN,51CTO
07.至于书籍当当一搜会有很多,其实内容都差不多。
最后但却很重要一点:要多关注技术动向,持续学习。

这么快破百赞了,又有了持续输出干货的动力。


http://picx.zhimg.com/v2-7f11334d5853925d446397d92105b625_r.jpg?source=1940ef5c

jylrb 发表于 2023-10-4 19:14:42

以下内容是我2014年年初的时候写的。我还记得那时候诸如大数据、数据科学家等等概念刚刚兴起,我也是那时候受一位我十分尊敬的媒体人前辈的邀请,加入到他的读书群,写了一个学习“数据科学:从入门到进阶”的经验贴,我就直接把它贴在下面了。虽然题主问的是大数据的入门,但在我看来“大数据”就是数据科学的一个高阶状态。以下内容中除个别情况,我基本上都会使用“数据科学”这个概念。
如果让我今天做一个数据科学的入门帖,一定和当时写的思路和内容完全不同。所以我也考虑是否要把这篇回答推翻重写。当时的数据科学和工程领域仍然属于一个快速生长和迭代的时期,深度学习的研究还固定在一个特定圈层,PyTorch、TensorFlow这些框架也都还在孕育之中。分布式和云计算也远远达不到今天的生态。相应地,学习资源事实上十分紧缺。我还记得当时的Coursea的课程数量不足一百门,Andrew Ng的Machie Learning还是用MATLAB教学,并且在课程里说过”掌握了这门课,你就已经比硅谷90%以上的人懂得更多机器学习“这样的话,这放到现在是完全无法想象的事情。
但我还是决定保留这些2014年写下的内容,因为经典的内容还没那么容易过时。ESL依然是机器学习领域的重要参考书目,韩家炜的数据挖掘也依然是绕不开的教材。即便是在实操层面,Wes的Python for Data Analysis也依然是帮助入门Pandas最好的教程,等等。这类栗子还有很多,经过很多动手实践之后你就会明白,占有更新更全的资料并非必需。
<hr/>数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解决三个问题:
1. data pre-processing;
2. data interpretation;
3. data modeling and analysis.
这也就是我们做数据工作的三个大步骤:
1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;
2、我们想看看数据“长什么样”,有什么特点和规律;
3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。
这三个步骤未必严谨,每个大步骤下面可能依问题的不同也会有不同的小步骤,但按我这几年的经验来看,按照这个大思路走,数据一般不会做跑偏。
这样看来,数据科学其实就是门复合型的技术,既然是技术就从编程语言谈起吧,为了简练,只说说R和Python。但既然是荐数据科学方面的书,我这里就不提R/Python编程基础之类的书了,直接上跟数据科学相关的。



[*]R programming
如果只是想初步了解一下R语言已经R在数据分析方面的应用,那不妨就看看这两本:
R in action:我的R语言大数据101。其实对于一个没有任何编程基础的人来说,一开始就学这本书,学习曲线可能会比较陡峭。但如果配合上一些辅助材料,如官方发布的R basics(http://cran.r-project.org/doc/contrib/usingR.pdf),stackoverflow上有tag-R的问题集(Newest 'r' Questions),遇到复杂的问题可在上面搜索,总会找到解决方案的。这样一来,用这本书拿来入门学习也问题不大。而且这本书作者写得也比较轻松,紧贴实战。
Data analysis and graphics using R:使用R语言做数据分析的入门书。这本书的特点也是紧贴实战,没有过多地讲解统计学理论,所以喜欢通过情境应用来学习的人应该会喜欢这本入门书。而且这本书可读性比较强,也就是说哪怕你手头没电脑写不了代码,有事没事拿出这本书翻一翻,也能读得进去。
但如果你先用R来从事实实在在的数据工作,那么上面两本恐怕不够,还需要这些:
Modern applied statistics with S:这本书里统计学的理论就讲得比较多了,好处就是你可以用一本书既复习了统计学,又学了R语言。(S/Splus和R的关系就类似于Unix和Linux,所以用S教程学习R,一点问题都没有)
Data manipulation with R:这本书实务性很强,它教给你怎么从不同格式的原始数据文件里读取、清洗、转换、整合成高质量的数据。当然和任何一本注重实战的书一样,本书也有丰富的真实数据或模拟数据供你练习。对于真正从事数据处理工作的人来说,这本书的内容非常重要,因为对于任何研究,一项熟练的数据预处理技能可以帮你节省大量的时间和精力。否则,你的研究总是要等待你的数据。
R Graphics Cookbook:想用R做可视化,就用这本书吧。150多个recipes,足以帮你应付绝大多数类型的数据。以我现在极业余的可视化操作水平来看,R是最容易做出最漂亮的图表的工具了。
An introduction to statistical learning with application in R:这本书算是著名的the element of statistical learning的姊妹篇,后者更注重统计(机器)学习的模型和算法,而前者所涉及的模型和算法原没有后者全面或深入,但却是用R来学习和应用机器学习的很好的入口。
A handbook of statistical analysis using R:这本书内容同样非常扎实,很多统计学的学生就是用这本书来学习用R来进行统计建模的。


[*]Python
Think Python,Think Stats,Think Bayes:这是Allen B. Downey写的著名的Think X series三大卷。其实是三本精致的小册子,如果想快速地掌握Python在统计方面的操作,好好阅读这三本书,认真做习题,答案链接在书里有。这三本书学通了,就可以上手用Python进行基本的统计建模了。
Python For Data Analysis: 作者是pandas的主要开发者,也正是Pandas使Python能够像R一样拥有dataframe的功能,能够处理结构比较复杂的数据。这本书其实analysis讲得不多,说成数据处理应该更合适。掌握了这本书,处理各种糟心的数据就问题不大了。
Introduction to Python for Econometrics, Statistics and Data Analysis:这本书第一章就告诉你要安装Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下来的十好几章就是逐一介绍这几个库该怎么用。很全面,但读起来比较枯燥,可以用来当工具书。
Practical Data Analysis: 这本书挺奇葩,貌似很畅销,但作者把内容安排得东一榔头西一棒子,什么都讲一点,但一个都没讲透。这本书可以作为我们学习数据分析的一个索引,看到哪块内容有意思,就顺着它这个藤去摸更多的瓜。
Python Data Visualization Cookbook: 用Python做可视化的教材肯定不少,我看过的也就这一本,觉得还不错。其实这类书差别都不会很大,咬住一本啃下来就是王道。


[*]Exploratory Data Analysis 和 Data Visualization
Exploratory Data Analysis:John Tukey写于1977年的经典老教材,是这一领域的开山之作。如今EDA已经是统计学里的重要一支,但当时还是有很多人对他的工作不屑一顾。可他爱数据,坚信数据可以以一种出人意料的方式呈现出来。正是他的努力,让数据可视化成为一门无比迷人的技术。但这本书不推荐阅读了,内容略过时。要想完整地了解EDA,推荐下一本:
Exploratory Data Analysis with MATLAB:这本书虽然标题带了个MATLAB,但实际上内容几乎没怎么讲MATLAB,只是每讲一个方法的时候就列出对应的MATALB函数。这本书的重要之处在于,这是我读过的讲EDA最系统的一本书,除了对visualization有不输于John Tucky的讲解外,对于高维的数据集,通过怎样的方法才能让我们从中找到潜在的pattern,这本书也做了详尽的讲解。全书所以案例都有对应的MATALB代码,而且还提供了GUI(图形用户界面)。所以这本书学起来还是相当轻松愉悦的。
Visualize This:中译本叫“鲜活的数据”,作者是个“超级数据迷”,建立了一个叫http://flowingdata.com的网页展示他的数据可视化作品,这本书告诉你该选择什么样的可视化工具,然后告诉你怎样visualize关系型数据、时间序列、空间数据等,最后你就可以用数据讲故事了。如果你只想感受一下数据可视化是个什么,可以直接点开下面这个链接感受下吧!A tour through the visualization zoo(A Tour Through the Visualization Zoo)


[*]Machine Learning & Data Mining
这一块就不多说了,不是因为它不重要,而是因为它太太太重要。所以这一部分就推两本书,都是”世界名著“,都比较难读,需要一点点地啃。这两本书拿下,基本就算是登堂入室了。其实作为机器学习的延伸和深化,概率图模型(PGM)和深度学习(deep learning)同样值得研究,特别是后者现在简直火得不得了。但PGM偏难,啃K.Daphne那本大作实在太烧脑,也没必要,而且在数据领域的应用也不算很广。deep learning目前工业界的步子迈得比学术界的大,各个domain的应用如火如荼,但要有公认的好教材问世则还需时日,所以PGM和deep learning这两块就不荐书了。
The Element of Statistical Learning:要学机器学习,如果让我只推荐一本书,我就推荐这本巨著。Hastie、Tibshirani、Friedman这三位大牛写书写得太用心了,大厦建得够高够大,结构也非常严谨,而且很有前瞻性,纳入了很多前沿的内容,而不仅仅是一部综述性的教材。(图表也做得非常漂亮,应该是用R语言的ggplot2做的。)这本书注重讲解模型和算法本身,所以需要具备比较扎实的数理基础,啃起这本书来才不会太吃力。事实上掌握模型和算法的原理非常重要。机器学习(统计学习)的库现在已经非常丰富,即使你没有完全搞懂某个模型或算法的原理和过程,只要会用那几个库,机器学习也能做得下去。但你会发现你把数据代进去,效果永远都不好。但是,当你透彻地理解了模型和算法本身,你再调用那几个库的时候,心情是完全不一样的,效果也不一样。
Data Mining: Concepts and Techniques, by Jiawei Han and Micheline Kamber 数据挖掘的教材汗牛充栋,之所以推荐这本韩家炜爷爷的,是因为虽然他这本书的出发点是应用,但原理上的内容也一点没有落下,内容非常完整。而且紧跟时代,更新的很快,我看过的是第二版,就已经加进去了social network analysis这种当时的前沿内容。现在已经有第三版了,我还没看过,但应该也加入了不少新内容。其实这本书并不难读,只是篇幅较长,啃起来比较耗时。
其实这两本书里单拎出来一块内容可能又是几本书的节奏,比如bayesian方法,再拿出两三本书来讲也不为过,我个人用到的比较多,而且也确实有不少好书。但并非是所有data scientist都要用到,所以这一块就不再细说。

还有一些印象比较深刻的书:
Big Data Glossary: 主要讲解大数据处理技术及工具,内容涵盖了NoSQL,MapReduce,Storage,Servers,NLP库与工具包,机器学习工具包,数据可视化工具包,数据清洗,序列化指南等等。总之,是一本辞典式的大数据入门指导。
Mining of Massive Datasets:这本书是斯坦福大学Web Mining的讲义,里面很多内容与韩家炜的Data Mining那本书重合,但这本书里详细地讲了MapReduce的设计原理,PageRank(Google创业时期的核心排序算法,现在也在不断优化更新)讲解得也比较详细。
Developing Analytic Talent: 作者是个从事了十几年数据工作的geek,技术博客写得很有个人风格,写的内容都比较偏门,通常只有具备相关数据处理经验的人能体会出来,丝毫不照顾初学者的感受。比如他会谈到当数据流更新太快时该怎么办,或者MapReduce在什么时候不好用的问题,才不管你懂不懂相关基础原理。所以这本书不太适合初学者阅读。这本书其实是作者的博客文章的集结,用how to become a data scientist的逻辑把他近几年的博客文章串联了起来。
Past, Present and Future of Statistical Science:这本书是由COPSS(统计学社主席委员会,由国际各大统计学会的带头人组成)在50周年出版的一本纪念册,里面有50位统计学家每人分别贡献出的一两篇文章,有的回忆了自己当年如何走上统计学这条路,有的探讨了一些统计学的根本问题,有的谈了谈自己在从事的前沿研究,有的则给年轻一代写下了寄语。非常有爱的一本书。



[*]其它资料
Harvard Data Science:这是H大的Data science在线课,我没有修过,但口碑很好。这门课需要费用8千刀左右,比起华盛顿大学的4千刀的Data science在线课虽贵一倍,但比斯坦福的14千刀要便宜将近一半(而且斯坦福的更偏计算机)。如果想自学,早有好心人分享了slides: (https://drive.google.com/folderview?id=0BxYkKyLxfsNVd0xicUVDS1dIS0k&usp=sharing)和homeworks and solutions: (https://github.com/cs109/content)
PyData:PyData是来自各个domain的用Python做数据的人每年举行一次的聚会,期间会有各路牛人举行一些规模不大的seminar或workshop,有好心人已经把video上传到github,有兴趣的去认领吧(DataTau/datascience-anthology-pydata · GitHub)


[*]工具
R/Python/MATLAB(必备):如果是做数据分析和模型开发,以我的观察来看,使用这三种工具的最多。R生来就是一个统计学家开发的软件,所做的事也自然围绕统计学展开。MATLAB虽然算不上是个专业的数据分析工具,但因为很多人不是专业做数据的,做数据还是为了自己的domain expertise(特别是科学计算、信号处理等),而MATLAB又是个强大无比的Domain expertise工具,所以很多人也就顺带让MATLAB也承担了数据处理的工作,虽然它有时候显得效率不高。Python虽然不是做数据分析的专业软件,但作为一个面向对象的高级动态语言,其开源的生态使Python拥有无比丰富的库,Numpy, Scipy 实现了矩阵运算/科学计算,相当于实现了MATLAB的功能,Pandas又使Python能够像R一样处理dataframe,scikit-learn又实现了机器学习。
SQL(必备):虽然现在人们都说传统的关系型数据库如Oracle、MySQL越来越无法适应大数据的发展,但对于很多人来说,他们每天都有处理数据的需要,但可能一辈子都没机会接触TB级的数据。不管怎么说,不论是用关系型还是非关系型数据库,SQL语言是必须要掌握的技能,用什么数据库视具体情况而定。
MongoDB(可选):目前最受欢迎的非关系型数据库NoSQL之一,不少人认为MongoDB完全可以取代mySQL。确实MongoDB方便易用,扩展性强,Web2.0时代的必需品。
Hadoop/Spark/Storm(可选): MapReduce是当前最著名也是运用最广泛的分布式计算框架,由Google建立。Hadoop是基于MapReduce的框架建立起来的分布式计算系统,Spark在Map Reduce的基础上利用有向无环图构建了RDD,目的就是为了减少Map和Reduce之间的数据交换次数,所以速度就快了。另一个区别就是,Hadoop用硬盘存储数据,Spark用内存存储数据,Storm只接受实时数据流而不存储数据。Hadoop因为“历史”最为悠久,有不少技术和产品都是基于Hadoop开发的,所以在较长的时间内Hadoop并不会不会被淘汰。而Spark是目前生态最好,最活跃的分布式框架。如果刚刚起步研究分布式计算,可从Spark入手。
OpenRefine(可选):Google开发的一个易于操作的数据清洗工具,可以实现一些基本的清洗功能。
Tableau(可选):一个可交互的数据可视化工具,操作简单,开箱即用。而且图表都设计得非常漂亮。专业版1999美刀,终身使用。媒体和公关方面用得比较多。
Gephi(可选):跟Tableau类似,都是那种可交互的可视化工具,不需要编程基础,生成的图表在美学和设计上也是花了心血的。更擅长复杂网络的可视化。
页: [1]
查看完整版本: 怎样进行大数据的入门级学习?