大数据行业应用之Hive数据分析航班线路相关的各项指标

简介: 大数据行业应用之Hive数据分析航班线路相关的各项指标

项目概要

1.项目背景:

飞机航班经常会因为各种原因,如天气原因,雷雨、大雾、大风等情况,或机场原因,导致航班的延误甚至取消,现在有一批航班的历史数据,基于这些数据,对航班的各种重要指标做统计分析,如最繁忙航线、某机场起降最频繁时段等等;最后,利用机器学习,对航班延误做预测,旅客可参考这些统计及预测结果调整行程安排。

2.建设目标:

亲自动手搭建项目所需的实验环境:搭建hadoop集群、分析航空数据的一些指标;

需求分析

1.需求介绍:分析航班相关的各项指标

2.功能点:数据清洗

功能描述:对航班数据flights.csv及airport.csv文件进行数据的清洗,备接下来的数据分析使用。

3.功能点:打开hive分析环境

功能描述:打开数据分析的环境,使用hive命令行的方式分析数据;

4.功能点:读取航班及机场信息

功能描述:使用hive来读取航班及机场信息,并分别注册成临时表,在接下来的分析中会用到这两个视图。

5.功能点:分析共有哪些航班?

功能描述:分析共有哪些航班,对重复的航班进行过滤,只要从航班数据中将经过去重后的航班号求出即可

6.功能点:航班最频繁的5条航线

功能描述:航班从起飞机场origin到落地机场dest(即:origion -> dest),简单定义为航线,现要统计最频繁的5条航线,先将数据按照origin,dest分组,再按每组的个数降序排序,取头5条,从而统计出来航班最频繁的5条航线的相关信息

7.功能点:航班最空闲的航线

功能描述:与上一个需求基本相似,排序顺序相反,以一条数据

8.功能点:航班最多的机场统计

功能描述:将航班flights数据按照origin起飞地分组,降序排序,取头一个

9.功能点:延误最少航班统计

功能描述:先获得每架航班的出发总延误时间,进行降序排序,取头一条;即:对flights数据按照航班分组,求每组的延误时间总和,并降序排序,取头一条

解决方案

架构简介:

本案例使用Hadoop作为底层支持,其中HDFS提供底层存储支持,Yarn提供集群中应用的资源调度支持;Hive提供数据访问支持。

模块名称:(实际使用了哪些模块都要在这里体现出来,并要有描述)

数据存储模块:

数据存储在HDFS中

数据计算模块:

使用hive对表数据进行分析计算

.

准备工作

数据介绍:共两份数据:航班数据及机场数据。

不同年份的航班信息数据,此处以2000年的数据2000.csv为例,字段及说明如下表:

航班信息数据介绍:

Name Description 字段描述

1 Year 1987-2008 此飞行记录所属年份

2 Month 1~12 此飞行记录所属月份

3 DayofMonth 1~31 此飞行记录所属当月的第几天

4 DayOfWeek 1 (Monday) - 7 (Sunday) 此飞行发生在本周第几天

5 DepTime actual departure time (local, hhmm) 实际飞离机场时间(小时分钟,如1940表示19点40分)

6 CRSDepTime scheduled departure time (local, hhmm) 计划分离机场时间(小时分钟,如1940表示19点40分)

7 ArrTime actual arrival time (local, hhmm) 实际抵达机场时间(小时分钟,如1940表示19点40分)

8 CRSArrTime scheduled arrival time (local, hhmm) 计划抵达机场时间(小时分钟,如1940表示19点40分)

9 UniqueCarrier unique carrier code 航空公司代码

10 FlightNum flight number 航班号

11 TailNum plane tail number 机尾编号

12 ActualElapsedTime in minutes 航程实际耗时(单位分钟)

13 CRSElapsedTime in minutes 航程计划耗时(单位分钟)

14 AirTime in minutes 飞机空中飞行时长(单位分钟)

15 ArrDelay arrival delay, in minutes 抵达晚点时长(单位分钟)

16 DepDelay departure delay, in minutes 出发延误时长(单位分钟)

17 Origin origin IATA airport code 出发所在机场编号(国际航空运输协会指定)

18 Dest destination IATA airport code 抵达机场编号(国际航空运输协会指定)

19 Distance in miles 航程(单位英里)

20 Cancelled was the flight cancelled? 航班是否取消

21 CancellationCode reason for cancellation (A = carrier, B = weather, C = NAS, D = security) 航班取消代码

22 Diverted 1 = yes, 0 = no 是否改道(1是,0否)

23 WeatherDelay in minutes 天气原因延迟

24 SecurityDelay in minutes 安全原因延迟

机场数据:数据介绍:

iata 国际航空运输协会代码

airport 机场

city 城市

state 州

country 国家

lat 纬度

long 经度

数据采集

由于本案例采集的获取数据的手册并非是大数据行业中常用的数据采集方案,与大数据相关性不大,所以此案例直接提供采集下来的数据,供案例使用。

数据清洗

航空数据集和机场数据中存在一些不合理的数据,需要对这部分做清洗,清洗后的结果留待接下来的操作中使用。

数据存储

本案例的重点是数据分析,此部分可以自己使用传统的JDBC方式存在到关系型数据库中。

数据计算

数据计算即是数据分析,本案例中对机场数据及航班数据进行分析,得出各项指标。数据计算常用手段有MapReduce, Hive,等等,本案例选择使用hive进行数据分析。具体的数据分析请见实验手册。

数据可视化

隐藏此模块。

开始实验

介绍:主要分两部分,第一部分是实验环境的准备,包括“hadoop集群安装部署”;第二部分是真正的数据分析部分。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
22天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
1月前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
1月前
|
机器学习/深度学习 人工智能 数据可视化
Python在数据分析中的威力及应用实例
本文探讨了Python在数据分析领域的重要性和灵活性,着重介绍了Python在大数据处理、机器学习和可视化方面的应用实例,展示了其强大的功能和便捷的特点。
|
1月前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
1月前
|
存储 大数据 数据挖掘
云计算与大数据:从基础设施到实际应用
云计算与大数据:从基础设施到实际应用
135 0
|
9天前
|
数据采集 数据可视化 数据挖掘
SciPy在数据分析中的应用:从数据清洗到可视化
【4月更文挑战第17天】# SciPy在数据分析中的应用:从数据清洗到可视化。文章探讨了SciPy在数据清洗(使用NumPy处理缺失值和异常值)、数据分析(描述性统计和模型拟合)以及数据可视化(结合Matplotlib和Seaborn进行图表绘制)中的作用。SciPy与其他Python库结合,为完整的数据分析流程提供了强大支持。
|
9天前
|
数据采集 数据可视化 数据挖掘
Seaborn在数据分析中的应用:案例分析与实践
【4月更文挑战第17天】本文介绍了Seaborn在数据分析中的应用,它是一个基于Python的可视化库,简化了复杂数据的图表创建。通过一个销售数据分析的案例,展示了数据加载、描述性统计、相关性分析、多变量分析及高级可视化步骤。实践技巧包括数据清洗、图表选择、颜色使用、注释标签和交互性。Seaborn助力高效数据探索和理解,提升分析效率。注意,实际使用需根据数据集和目标调整,并参考最新文档。
|
10天前
|
数据采集 数据可视化 数据挖掘
NumPy在数据分析中的核心应用
【4月更文挑战第17天】NumPy是Python数据分析基础库,核心应用包括数据结构化、预处理、统计分析和可视化。它提供`ndarray`多维数组对象及灵活索引,用于数据存储和处理。数据预处理支持缺失值处理,统计分析涵盖描述性统计和相关性分析。虽不直接支持数据可视化,但能与Matplotlib等库集成绘制图表。掌握NumPy能提升数据分析效率,助于挖掘数据价值。
|
10天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。