【大数据实战项目一】数据下载以及工具软件的使用

数据下载以及工具软件的使用

  • 1 数据从哪里来怎么用li>
    • 1.1 本项目中使用的数据——飞机航班数据
    • 1.2 结构化数据与非结构化数据
    • 1.3 结构表的特征提取和呈现
    • 1.4 数据分析金字塔
    • 1.5 数据下载
  • 2 大数据实战项目中工具软件的选择
    • 2.1 原始数据收集器使用的技术——Kafka
    • 2.2 原始数据存储使用到的技术——HadoopHDFS
    • 2.3 原始数据批处理使用到的技术——Spark、PySpark、SparkSQL
    • 2.4 结果数据存储使用到的技术——Mongodb ES
    • 2.5 结果数据展示用到的技术——Flask D3.js
    • 2.6 每天新数据的回填使用到的技术——Airflow

1 数据从哪里来怎么用h1>

1.1 本项目中使用的数据——飞机航班数据

  • 飞机出行是现代生活中不可缺少的一部分
  • 许多航班数据可以免费获取
  • 航班准点数据集是有点“大”的数据集,每年的数据约有1-10个GB,虽然和真正的大数据相比还有点小,但是在单台个人电脑上处理这些数据已经可以被称为“大”数据了

95%的出发地在美国的航班记录数据都可以在公开航班数据 站和美国交通统计局的官方 站进行免费下载。

1.2 结构化数据与非结构化数据

  • 结构化数据:上世纪70年代开始,关系型结构化数据大量开始采用,使用严格的外部表进行数据的约束,将数据拆分成多个表,然后相互链接,为后面进行高效的查询做准备,这个过程被称为OLTP,简化了很多实际业务 规则对于数据的定义。
  • 非结构化数据:在2010年前关系型数据依旧是存储和数据处理的首选, SQL也成为大众操作这类数据的首选工具,但是随着数据量的增加,以关系型数据库为代表的数据处理发展逐步遇到了技术瓶颈,大量IT系统在处理数 据时完全被关系型数据系统限死,导致非结构化数据处理的兴起。从而出现了一个新词汇 NoSQL。

为什么要使用NoSQL:

  • SQL带来的问题不是SQL语言本身的问题,而是采用这类单一的数据处理方式,让我们必须把 所有的数据处理方法都交给SQL,当数据量大增时SQL带来了性能瓶颈,就演变成了全行业问 题,NoSQL中的No并不是指No 不使用的意思,而是扩展思路的Not Only,不仅仅是SQL的含义
  • 现代应用的崛起,尤其是以图片,视频,嵌套信息流等数据越来越多,传统结构化模式的存储已经难以处理。出于这样的考虑,我们开始在分布式系统上采用类似Spark这样的工具进行操作,并且由于分布式系统可以结合多个系统硬件资源,使得使用时候无需太多考虑数据量和存储等问题带来的限制,利用多核处理器来简单暴力的读取数据以加快数据处理能力。

1.3 结构表的特征提取和呈现

  • 现代商业数据分析中,大部分获得到的数据都是比较粗糙和非结构化的,将这些信息进行清洗和正则化以后,才能称的上是数据,使用这些提炼过的信息来作为一些行为提供新的决策思路。
  • 非结构化数据只有在“强光曝晒”下才会变得更好,如果使用了这些特征,提取后需要通过可视化工具进行对外展示,不然仍然处于自由状态。
  • 构建数据产品最难的部分就是把提取出实物和特征限定到比想象小的多的产品中,这就是为什么一开始可以使用非结构化文本数据,经过提取特征后才会演变成结构化数据。
  • 特征必须在产生时就具备某种形式呈现,否则将无法用于实际的决策支持状态。
  • 利用特征创建出实体页面,让数据能被“客户”消化。不断改进这些数据,逐步将他们组合起来,而不是试图用海量数据进行直接展示,那样只会出现展示数不清的无用的中间数据。
  • 将数据进行编排成良好信息的同时,利用这些信息揭示新的结论并基于它们做出可以影响决策的预测,数据是残酷无情的,如果不能挖掘出数据的信息,那再多的数据也是无用的数字垃圾。
  • 在本轮实战项目中,我们将看到表结构的不断演变和优化,进而发掘出表结构的特征,带你习数据挖掘的过程

1.4 数据分析金字塔

数据分析的步骤可以分为五个部分,具体划分及内容可见下图

航空公司数据下载地址:

(2)美国交通部 站数据

打开链接 址:历史准点航班数据查询

2.1 原始数据收集器使用的技术——Kafka

第二部的收集,除了使用Download方式外(静态单次下载),正式的开发环境部署中,采用Kafka作为数据采集的接入方式(动态实时刷新数据),示例操作如下。

2.3 原始数据批处理使用到的技术——Spark、PySpark、SparkSQL

为什么不使用python进行批处理,就是因为python处理时候不跨机器,即便是当前运行程序的电脑有8个cpu,程序运行的时候也只会使用其中的1个cpu。而Spark是属于分布式处理,不仅可以用当前的多个cpu,甚至可以跨机器使用

2.5 结果数据展示用到的技术——Flask D3.js

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月22日
下一篇 2022年1月22日

相关推荐