【大数据框架及实战】---数据集
第一节 数据从哪里来 数据怎么用
本项目使用的数据
- 飞机出行是现代生活中不可缺少的一部分 飞机出行是现代生活中不可缺少的一部分
- 许多航班数据可以免费获取 。
- 航班准点数据集是有点“大”的数据集,每年约有1-10个GB的数据集,虽然和真正的大数据相比还有点小,但是在单台个人电脑上处理这些已经可以被称为 “大”数据了。
95%的出发地在美国的航班记录数据都可以在美国交通统计局的官方网站进 行免费下载。https://openflights.org/data.html
利用下载工具把数据下载下来后,可以看到类似这样
csv (comma split) 逗号分隔文件
结构化和非结构数据
- 结构化数据:上世纪70年代开始,关系型结构化数据大量开始采用,使用
严格的外部表进行数据的约束,将数据拆分成多个表,然后相互链接,为后面进行高效的查询做准备,这个过程被成为OLTP,简化了很多实际业务规则对于数据的定义。 - 非结构化数据:在2010年前关系型数据依旧是存储和数据处理的首选, SQL也成为大众操作这类数据的首选工具,但是随着数据量的增加,以关系型数据库为代表的数据处理发展逐步遇到了技术瓶颈,大量IT系统在处理数据时完全被关系型数据系统限死,导致非结构化数据处理的兴起。从而出 现了一个新词汇 NoSQL。
- 为何使用NoSQL
1.SQL带来的问题不是SQL语言本身的问题,而是采用这类单一的数据处理方式,让我们必须把
所有的数据处理方法都交给SQL,当数据量大增时SQL带来了性能瓶颈,就演变成了全行业问 题,NoSQL中的No并不是指No 不使用的意思,而是扩展思路的Not 不仅仅是SQL的含义。
2.现代应用的崛起,尤其是以图片,视频,嵌套信息流等数据越来越多,传统结构化模式的存储已经难以处理,出于这样的考虑,我们开始在分布式系统上采用类似Spark这样的工具让我 们操作步骤,并且由于分布式系统可以结合多个系统硬件资源,使得使用时候无需太多考虑数据量和存储等问题带来的限制,利用多核处理器来简单暴力的读取数据以加快数据处理能力。
大数据不是替代sql,nosql不是not(不使用的意思)sql,意思是not onely sql 不仅仅使用sql,还可以结合别的工具spark和分布式架构,更是一种扩展。
结构表的特征提取和呈现
- 现代商业数据分析中,大部分获得到的数据都是比较粗糙和非结构化的,将这些信息进行清洗和正则化以后,才能称的上是数据,使用这些提炼过的信息来作为一些行为提供新的决策思路。
- 非结构化数据只有在“强光曝晒”下才会变得更好,如果使用了这些特征,提取后需要通过 可视化工具进行对外展示,不然仍然处于自由状态(没有价值)。
- 构建数据产品最难的部分就是把提取出实物和特征限定到比想象小的多的产品中,这就是为什么一开始可以使用非结构化文本数据,经过提取特征后才会演变成结构化数据。
- 特征必须在产生时就具备某种形式呈现,否则将无法用于实际的决策支持状态
- 利用特征创建出实体页面,让数据能被“客户”消化。不断改进这些数据,逐步将他们组合 起来,而不是试图用海量数据进行直接展示,那样只会出现展示数不清的无用的中间数据。
- 将数据进行编排成良好信息的同时,利用这些信息揭示新的结论并基于它们做出可以影响决 策的预测,数据是残酷无情的,如果不能挖掘出数据的信息,那再多的数据也是无用的数字垃圾。
- 在本轮实战项目中,我们将看到表结构的不断演变和优化,进而发掘出表结构的特征,带你学习数据挖掘的过程。
攀登数据分析金字塔
第二节 实战项目中工具软件选型
数据采集到的技术—Kafka
原始数据存储用到的技术–HadoopHDFS
HadoopHDFS 分布式存储方式,
原始数据批处理用到的技术–Spark PySpark SparkSQL
Spark是本轮项目的重点,数据处理部分采用Spark家族工具进行
python的处理不跨机器,都是针对本机的单个cpu的处理方式。
结果数据存储用到的技术–Mongodb ES
HDFS只放脏数据,干净的数据放到Mongodb 中。Mongodb 性能不够的话扩机器就能提高性能。大量的数据在mysql上碰到性能瓶颈,基本没有办法,只能购买更高性能的服务器。
一台服务器2w,性能指标为100。
花5w,性能只能到120。
花10w,性能只能到150。
结果数据展示用到的技术–Flask D3.js
如何让最新的数据可以纳入方案中
利用Airflow进行每天数据的回填
测试中不使用。
以上软件的安装以及初步连通性不再展示。。。