零基础学习大数据的几个阶段

第一阶段:SQL & 报表制作 & 分析报告

-------------------------------------------

SQL语言

看过的书籍:《漫画数据库》《漫画统计学入门

假设将数据分析分作八个曾是[标准报表,即席查询,多维分析,警报,统计分析,预报,建模,优化产品]几个层次的话,那么使用SQL语言进行数据处理可以是每一个层次的基础。所以作为数据分析师,SQL语言的撰写基本上是必备的,你在各大数据分析师的招聘中均能看到,这是一门入门极其简单的非过程化语言,大部分数据分析师用到大多是查询和计算的功能,所以不用担心太难。

推荐一个大数据学习群 119599574每天晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,

窃以为以下几点入门阶段还算重要:

  1. 看点集合论的知识,为今后更好的区分集合逻辑和程序中过程逻辑的不同做点准备
  2. 多理解表,没事多看看行、列;多想想Excel中的表,其实没有什么区别,你在Excel中怎么操作的,转换下思维
  3. 有余力的话,看点关系代数,为之后深入理解关系型数据库(RDBMS)放个前哨

我初学SQL的经历很简单:

  1. 看我前面看过的2本漫画书
  2. 看网上以下的这些知识(我当时用过的,就没帮你做筛选啦),觉得有难度的内容,放过即可,以后再学
  3. 不断练习(如果没有机会练习的话,自己在电脑上装个MySQL,实在不行我可以把我搭在家里电脑上的MySQL开放给你练习下)

Understand SQL Syntax
十步理解MySQL
mysql 复制表数据,表结构的3种方法
MySQL show指令合集
聚集索引 & 非聚集索引
添加&删除索引语法
Mysql删除多表及多表记录sql语句
画图解释SQL join语句
批量更新多条记录的不同值
How to make multiple updates using a single query in MySQLER图--数据建模与数据字典
MySQL的最佳索引攻略
字段类型与合理选择字段类型
数据中设计中的范式与反范式
表的垂直拆分和水平拆分
MySQL查询执行路径
Mysql体系结构及sql执行过程总结
Mysql Select查询执行流程介绍及实例Merge Join vs. Hash Join vs. Nested Loop
浅谈SQL Server中的三种物理连接操作
B-树和B+树的应用:数据搜索和数据库索引
B-tree&B+tree(易于理解)
深入数据库索引背后算法及数据结构
Delete,Update连表(left join)删除
MySQL存储过程详解 mysql 存储过程
自定义存储过程和函数(详解了存储过程和函数)
MySQL Explain详解
MySQL Explain Syntax
Explain语法(详细解释各个字段内容)
MySQL性能分析工具profile
MySQL Sending data导致查询很慢的问题详细分析
各种常规状态(要多读手册)
mysql show processlist命令 详解
详解慢查询
Mysql数据库中的EXISTS和NOT EXISTS
mysql in和exists性能比较和使用
快速计算Distinct Count
Variables用户变量介绍
MySQL变量使用笔记
系列文章:点此进入(值得反复研读)
[MySQL FAQ]系列 — 什么情况下会用到临时表
[MySQL FAQ]系列 — processlist中哪些状态要引起关注
[MySQL FAQ]系列 — EXPLAIN结果中哪些信息要引起关注
利用 index、explain和profile优化mysql数据库查询小结
MySQL性能优化的最佳21条经验MySQL性能优化的最佳21条经验 - Leo's DBA blog - 博客频道 - CSDN.NET
MySql之增删改查总结
MySQL数据库优化技巧
MySQL索引原理及慢查询优化

报表展示
我们公司由于使用的BirtReport,这个做基本的报表展示的话,不是很难,但要用好了,感觉细节很是很多的。这个过程我也感觉自己是稀里糊涂的过来的,直到后来才补充了些数据可视化的知识,所以在初学阶段好像也没什么特别建议,唯一要提的是:要是你把SQL写好了,简单的报表实现是容易的,所以核心又归结到SQL上了。
 

这个步骤我不知道有没有好的办法,我想的是:暂时不用练习,应该也无伤大雅;

如果一定要练习,我只能想到以下:

  1. 先找一个工作,不求多好,公司会有工具,还有同事带会好许多
  2. 或者装一个单机版的Tableau 或其他类似工具,用测试数据自己摸索摸索。(Tableau我用得不好,仅介绍)
  3. 我可以提供下我家里装得Caravel,但这个可能需要对多维数据立方有些了解
  4. 对了,或者你也可以用BirtReport,自己连个数据库就好了

分析报告

个人感觉分析报告主要用于解释过往数据,为之后的决策提供参考依据。感觉决策分析在我们日常生活本就一直不断发生着,我想很多招聘中提到的数据意识、数据敏感度啊什么的,就是能思考数据与现实之间的关系,然后做点行为指导。我初学的时候,分析报告写的不是很好,感觉有些像写论文,总想写个严谨范。后来,才更归于简洁,多用常见的模型,AARRR,对比分析等等,简单又有效。

这部分的我想的是:

  1. 多看(看网上的分析报告、照猫画虎)
  2. 多思考(把网上的机器猫拆了,自己组装成老虎)

第二阶段:数据库 & python & 统计基础

--------------------------------------------

数据库

用过的书:《高性能MySQL (豆瓣)》《七周七数据库 (豆瓣)》《Beginning Database Design》《数据库系统概论(第5版) (豆瓣)》《NoSQL实践指南 (豆瓣)

作为数据分析师,我总觉得是应该对数据库有稍微深入一点的了解的。特别是关系型数据库的理解,这些基础知识能让你运行SQL的效率和别人不一样,你写SQL的时候,脑海中不会再只是一个集合计算过程,而是一行一行表中的数据,如何和另一个表中的数据进行交、并操作,中间是否会走索引,怎么走索引,大约计算量会有多大,都会有一个清晰的认识。以MySQL为例,你可能能下意识反应出,在不同的存储引擎下,整个计算过程会怎么走。所以,如果你入门了,还是推荐补点数据库基础。

不同数据库系统之间的对比,我觉得更多应该是作为自己喜欢的一个东西去学,其实,我也不知道这东西有多重要,但有用,比如我司曾经就选择过MongoDB存储日志数据,用做分析型数据库,导致后来这部分完全出不来,只能部分导出,部分废弃。当现在对键值数据库,文档数据库,列族数据库,列式数据库等不同NoSQL数据库有些了解之后,就不会这样选择了。如果我们不是用了SensorsData,我觉得我会建议搭一个http://Druid.io,当然听说SD用的也是列式的vertica,但我总觉得他们实现的很漂亮,就很好奇是怎么做到的。

python

用过的书:《Python基础教程》《Learn python the hard way》《编写可读性代码的艺术》《Flask Web Development》《代码之髓》《Python for data analysis》

我感觉做数据还是要会个语言的好,网上有许多关于数据分析师应该选择R还是Python,你可以多去看看,然后根据自己的喜欢选择一种即可。但我个人倾向于python,因为除了做数据处理之后,还可以用作开发许多其他好玩的东西,有些时候在工作中也比较实用。比如,我现在就用python脚本接SD的数据,也用flask实现一些简单的服务等。更重要的是,在后面想学点机器学习知识的时候,它的用处是很大的。

统计基础

用过的书:《行为科学统计精要 (豆瓣)》《应用回归分析 (豆瓣)》《All of Statistics》(学习中)

之前我也确实由于统计基础薄弱,做过很多很傻的事情,有一段时间,我总跟老板说,我要对数据库的数据进行抽样分析,然后根据样本做统计推断。老板说我对样本的概念理解就不对,我当时还不以为然呢。直到我认认真真看完统计精要那本书,才发现自己当时是有多傻,我都有了总体了,干嘛还去抽样呐,我有病,还好吃药了。所以,向你强烈推荐这本书噢。

第三阶段:数学 & 机器学习 各种基础

----------------------------------------

用的书:《机器学习 (豆瓣)》《Introduction to Linear Algebra, Fourth Edition》《Introduction to Machine Learning with Python》(在读)《微积分和数学分析引论 (豆瓣)》《数学指南 (豆瓣)》(参考书)

我自己是在第二阶段基础未打牢的时候,就开始摸索了第三阶段,这应该算是一个不太好的行为,自己目前的进展也很缓慢,很多地方,所以不建议这么快跃进。我也是跌跌撞撞的学习着Coursera上Andrew NJ的那个经典课程。

我就在我的这里啦…等你噢

第四阶段:待续

------------------

注意事项:

  • 集中精力(以我为戒)
  1. 虽然我看上去学了也学了不少知识,但第二阶段的实践做的就已经很少了,所以现在仍然会有那种只看得懂表面的感觉;建议你若要学,就一个一个内容学得更精一些
  2. 时间要分配好,这一年里,我浪费了大量的时间在学一些不太实用的东西上,容易被一些东西吸引,比如我给自己装一个Confluence就耗费了半个月,中间一点都不懂的瞎玩Docker、Git各种,现在也不太懂,总之分心了,反而不如把时间多花在数据可视化等跟数据有关的内容上
  3. 记住一个词:数据
  • 勤加练习
  1. 这点深有体会,这一年估计有写10w行SQL,所以自我感觉就不错,而python可能不到1w行,用起来就很涩
  2. 不要放过数学基础的练习,很多东西,看懂了和会不会用是两码事,我只能说这个我也很痛苦,勤查工具书中
  • 多读书(推荐几本)
  1. 暗时间 (豆瓣)》强烈推荐

    @刘未鹏

    (可以说改变了我的学习方法,比以前好学多了,很感谢作者,也感谢老板的推荐)
  2. 怎样解题 (豆瓣)》强烈推荐 暗时间里推荐的书,整个都可以读
  3. 黑客与画家 (豆瓣)》有意思
  4. 吴军老师系列的书
  5. 大数据时代 (豆瓣)
  6. ........

猜你喜欢

转载自blog.csdn.net/qq_41800874/article/details/81837314