Python大数据分析(二):大数据技术基础
文章目录
- (一)Linux系统和大数据
- (二)Hadoop
- (1)Hadoop包含哪些模块?
- (2)Hadoop的生态成员
- (3)哪些人在使用Hadoop?
- (三)Spark
- (1)Scala
- (2)RDD
- (3)主件
- (四)云计算
- (1)虚拟化技术
- (2)云计算特点
- (3)云计算应用
- (五)Python数据分析工具
- (1)Pandas
- (2)matplotlib
- (3)scikit-learn
- 附:参考资料
(一)Linux系统和大数据
- 大数据分析需要可扩展,易用,灵活的计算分析,大量的数据需要通过一个硬件的集群制造一个计算资源之外的可扩展优势
- Linux的低门槛使得集群架设可以以低成本完成,这使得Linux成为这些年在处理数据上显得更有更好的表现和更高效
- Linux容器运行你去打包和隔离应用使得你可以在各种环境(开发,测试,生产…)下移动数据,对于完成大数据的数据处理工作,容器是一个快速简单的方式
- Linux系统在这方面的优势:用户社区庞大,开源免费,可跨平台,多用户多任务,高能高效,安全稳定,硬件计算快速,网络功能完善
(二)Hadoop
Apache Hadoop 是一款支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop 是根据谷歌公司发表的MapReduce和Google文件系统的论文自行实现而成。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理。
(1)Hadoop包含哪些模块?
- 常用模块(Hadoop Common):常用模块可以为其他模块提供效用
- HDFS:HDFS是分布式文件系统(Hadoop Distributed FIle Syetem )的简称,分布式文件系统可以为应用数据提供高吞吐量的处理
- YARN:一个为工作调度和集群资源管理而设计的框架
- MapReduce:一个为庞大数据集所用的可并行YARN基础系统
- Ozone:一个Hadoop的对象存储
(2)Hadoop的生态成员
- HBase:HBase是一个开源的非关系型分布式数据库,它参考了谷歌的BigTable建模,实现的编程语言为Java。
- Hive:Hive是一个建立在Hadoop架构之上的数据仓库。它能够提供数据的精炼,查询和分析。
- ZooKeeper:ZooKeeper是Apache软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。 ZooKeeper的架构通过冗余服务实现高可用性。
- Pig:Pig是一个基于Apache Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
(3)哪些人在使用Hadoop?
- Amazon
- Fox Interactive Media
- 华为
- IBM
- ImageShack
- 信息学研究院
- 纽约时报
- 中国移动
… …
(三)Spark
Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。
Spark在存储器内运行程序的运算速度能做到比Hadoop MapReduce的运算速度快上100倍,即便是运行程序于硬盘时,Spark也能快上10倍速度。Spark允许用户将数据加载至集群存储器,并多次对其进行查询,非常适合用于机器学习算法
(1)Scala
Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
def qsort(list: List[Int]): List[Int] = list match {case Nil => Nilcase pivot :: tail =>val(smaller, rest) = tail.partition(_ < pivot)qsort(smaller) ::: pivot :: qsort(rest)
}
(2)RDD
Spark RDD(英语:Resilient Distributed Dataset,弹性分布式数据集)是一种数据存储集合。只能由它支持的数据源或是由其他RDD经过一定的转换(Transformation)来产生。在RDD上可以执行的操作有两种转换(Transformation)和行动(Action),每个 RDD 都记录了自己是如何由持久化存储中的源数据计算得出的,即其血统(Lineage)。
(3)主件
- Spark SQL:Spark用来操作结构化数据的组件
- Spark Streaming:Spark平台上针对实时数据进行流式计算的组件
- MLlib:Spark提供的一个机器学习算法库
- GraphX:Spark面向图计算提供的框架与算法库
(四)云计算
云计算(cloud computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备,使用服务商提供的电脑基建作计算和资源
- SaaS:软件服务,Software-as-a-service
- PaaS:平台服务,Platform-as-a-service
- IaaS:基础设施服务,Infrastructure-as-a-service
(1)虚拟化技术
云计算虚拟化技术支持用户在任意位置、使用各种终端获取服务。虚拟化技术是实现云计算基础架构层面(IaaS)的核心技术
(2)云计算特点
根据美国国家标准和技术研究院的定义,云计算服务应该具备以下几条 特征:
- 随需应变自助服务。
- 随时随地用任何网络设备访问。
- 多人共享资源池。
- 快速重新部署灵活度。
- 可被监控与量测的服务。
从研究现状来看,云计算具有以下 特点:
- (1)超大规模。
- (2)虚拟化。
- (3)高可靠性。
- (4)通用性。
- (5)高可伸缩性。
- (6)按需服务。
- (7)极其廉价。
(3)云计算应用
- 云教育
- 云物联
- 云安全
- 云政务
- 云存储
(五)Python数据分析工具
(1)Pandas
Pandas 是一个由Python编程语言为了数据操作和分析而建立的软件库
(2)matplotlib
matplotlib 是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)
(3)scikit-learn
scikit-learn 是Python的开源机器学习库,它的特色是多种多样的分类,回归,线性等算法包含了提供向量化,随机森林,梯度推进,K-means和DBSCAN,并且依赖于Python数值库NumPy和科学库SciPy设计为互操作
附:参考资料
- 《Why Linux is the powerhouse for big data》
- https://www.computerweekly.com/blog/Open-Source-Insider/Why-Linux-is-the-powerhouse-for-big-data
- 维基百科·Hadoop
- https://zh.wikipedia.org/wiki/Apache_Hadoop
- Hadoop官网
- https://hadoop.apache.org/
- 维基百科·Spark
- https://zh.wikipedia.org/wiki/Apache_Spark
- 维基百科·Pandas
- https://en.wikipedia.org/wiki/Pandas_(software)
- 维基百科·matplotlib
- https://zh.wikipedia.org/wiki/Matplotlib
- scikit-learn官网
- https://scikit-learn.org/
Python大数据分析(二):大数据技术基础相关推荐
- 大数据技术基础综合项目——牛客网招聘岗位统计分析
大数据技术基础综合项目--牛客网招聘岗位统计分析 文章目录 大数据技术基础综合项目--牛客网招聘岗位统计分析 零.实验环境说明 一.数据集来源及说明 二.数据预处理阶段 2.1 删除空行的数据 2.2 ...
- 大数据技术基础实验十三:Kafka实验——订阅推送示例
大数据技术基础实验十三:Kafka实验--订阅推送示例 文章目录 大数据技术基础实验十三:Kafka实验--订阅推送示例 一.前言 二.实验目的 三.实验要求 四.实验原理 1.Kafka简介 2.K ...
- 大数据技术基础实验三:HDFS实验——部署HDFS
大数据技术基础实验三:HDFS实验--部署HDFS 文章目录 大数据技术基础实验三:HDFS实验--部署HDFS 一.前言 二.实验要求 三.实验原理 1.什么是HDFS? 2.HDFS的体系结构 3 ...
- 基于大数据分析的安全管理平台技术研究及应用
http://www.venustech.com.cn/NewsInfo/531/25566.Html [内容摘要]本文首先通过介绍大数据的起因,给出了大数据的定义和特征描述,并简要说明了当前大数据的 ...
- 浅谈数据分析、大数据分析和大数据开发的区别
自我介绍 在大学期间主要学习一些数据分析的课程例如,统计学,多元统计学,数据挖掘,matalb,R语言统计分析,时间序列分析,也参加了几次数学建模竞赛.对数据分析也有些了解. 实习时进了一家大数据公司 ...
- 大数据开发、大数据分析、大数据运维主要工作各是什么?哪个好?
本文转自https://blog.csdn.net/weixin_34318956/article/details/87302823 首先,工作本身没有好坏之分,只有门槛高低之别.大数据开发.大数据分 ...
- 大数据开发、大数据分析、大数据运维主要工作各是什么?哪个好?谢谢?
首先,工作本身没有好坏之分,只有门槛高低之别.大数据开发.大数据分析.大数据运维都围绕着大数据展开.如果我们把大数据去掉,就只剩下,开发,分析,运维.当然还有其它的工作,例如运营,产品,讲师,测试等. ...
- 《Spark商业案例与性能调优实战100课》第18课:商业案例之NBA篮球运动员大数据分析代码实战之核心基础数据项编写
<Spark商业案例与性能调优实战100课>第18课:商业案例之NBA篮球运动员大数据分析代码实战之核心基础数据项编写
- 什么是大数据分析?大数据分析要学什么?
作为时下最火热的IT行业的词汇--大数据,它是指对规模庞大的数据库或者数据池进行挖掘.清理.分析的过程.大数据可以概括为5个V,数据量大(Volume).速度快(Velocity).类型多(Varie ...
最新文章
- Python命令行解析:sys.argv[]函数的简介、案例应用之详细攻略
- C#.net实现密码加密算法的语句
- Android刷新当前页面
- SCRUM 系列之一 ----- 认识SRCUM
- #includeiostream里的定义
- 商业智能系统在税务行业的应用
- puppet on windows
- Go语言学习之路(二)
- 读书、生活经典语录随笔
- Aria2一键安装及管理脚本,搭建AriaNg前端
- 关闭ssh隧道的几种“优雅”方式
- 深入理解 Comparable 接口和 Comparator 接口以及Arrays.sort()
- postman接口工具-Invalid URI http:///%7B%7Burl%7D%7Dapi/document/getHelpDocumentUrl?appType=1
- linux 环境变量 哪个文件,Linux环境变量配置文件
- 基于单片机红外对管测风速控制系统设计(毕设课设)
- 使用ANSI控制字体颜色
- Python 爬虫二 requests模块
- 重庆北大青鸟ACCP软件工程师课程内容有哪些?
- 中国无线可穿戴扬声器行业市场供需与战略研究报告
- rm 命令过滤式删除
热门文章
- 《孩子,为你自己读书》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+多多图书馆+志存当高远+读万卷书如行万里路+术业有专攻+读书是对思想的一种升华+立钻哥哥++==)
- 云原生--k8s基础管理命令(二)
- Week2:区分己烷的同分异构体
- 向量间的线性关系(3)
- [原创]gsoap的基本使用方法『C++web服务工具包』
- JAVA实现短信接口的调用
- 网络安全特训之——网络信息安全攻防学习平台(基础关)
- ubuntu下按键精灵xdotool
- 离散傅里叶变换 (DFT)、快速傅里叶变换 (FFT)
- iOS App 上架被拒的各种原因