一、概述
概念
有目的的进行收集、整理、加工和分析数据,提炼有价值信息的过程。针对的是海量的多样化数据集合。
过程
需求分析--数据收集--数据分析--分析报告、提炼价值
产生与发展
互联网+物联网产生海量数据
商业智能的发展
从传统转换为增强型功能转变、单独的商业智能转换为嵌入式商业智能
大数据分析技术的发展
无线互联网技术、数据抓取、并行处理、高容量存储、数据可视化、人工智能
应用场景
- 电商、医疗、金融
- 交通物流、社交媒体、客户、营销分析、网络安全分析
二、分析流程
基本流程
数据采集(实时数据采集:Flume、Fluented、DataHub、、、、离线数据采集ETL:Sqoop、DataX)
数据存储与管理(关系型数据库:关系数据库、NoSQL数据库、分布式文件系统 数据仓库建模 源数据库管理 数据安全管理)
数据计算 (多维统计分析 大规模并行计算框架 数据挖掘、机器学习、分布式实时计算、交互式分析)
数据应用(数据报表 可视化展现 数据服务 数据分享)
数据采集
WEB端(网络爬虫)APP端(无线客户端 采集SDK/埋点 页面浏览事件 控件点事件)传感器(物联网)数据库(结构化数据 客户 交易)第三方(第三方数据 合作方提供 政府公布宏观数据 对接公安系统的身份核验)
离线数据采集ETL
ETL:Extract Transform Loading 抽取 转换 转载
ETL工具:PowerCenter DataStage Kettle 阿里云DataX
预处理技术
数据清洗:清洗干净脏数据(不在指定范围内 格式非法 没有实际意义)
数据集成:合并整理来自不同数据源的数据
数据规约:在尽可能保持数据原貌的前提下,最大限度精简数据量
数据变换:对数据进行变换处理,使其更适合当前任务或者算法的需要(数据规范化 数据值离散化 对数据进行汇总与聚集)
数据存储与管理
分布式文件系统-HDFS
Hadoop是一个分布式基础架构 可以开发分布式程序 重复利用集群的威力高速运算和存储Hadoop实现了一个分布式文件系统
HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。
HDFS集群包含:一个主节点(NameNode)多个丛属节点(DataNodes)多个客户端访问
分布式列存数据库--HBase:处理非常庞大的表,超过10亿行、数百万亿列。存储海量结构化、半结构化数据
内存数据库--Redis
Redis是一个开源的可基于内存亦可持久化的日志型、键值内存数据库。也可作为一个消息的发布 定阅。
消息分发和存储--Kafka
分布式发布-订阅消息系统。主要处理流式数据
非结构化数据存储-OSS
云存储、海量、安全、低成本、高可靠、可存储任意类型
数据分析与挖掘
分析方法
描述型:发生了什么?
诊断型分析:为什么会发生:
预测性分析:可能发生什么:
指令型分析:下一步怎么做?
挖掘技术
常用算法:分类 聚类 关联规则 时间序列
数据可视化
方法:统计图表、2D3D区域、时态、多维、分层、网络
常见可视化图表:线图、柱图、饼图、散点图、雷达图、漏斗图、旋风漏斗、树图、矩阵树图、来源去向、指标看板、仪表盘、地图、极坐标图、词云
大数据分析常用技术
统计工具
Excel spss SAS
编程语言
R语言(适合统计研究背景)
Python
JAVA (原型制作 大型系统)
Scala语言 :Spark平台常用(大规模机器学习 构建高层次算法的工具)
Tableau (数据可视化工具)
QlikView
Microsoft Power BI
Python 如何处理大数据
Python程序设计语言
是一种结合了解释性、编译性、互动性、和面向对象的高层次计算机程序语言
起源:1991
设计哲学:优雅、明确、简洁
宣言:人生苦短,我学Python!
Python之父:
如何与大数据结合
- Python是开源汇编语言,支持多平台
- 提供对文本、图像和多媒体数据的高级支持,因为他支持非结构化数据和非常规数据的处理。
Python常用库
- numpy 开源的数值计算扩展,存储和处理大型矩阵
- pandas 提供高效地操作大型数据集所需的工具
- sklearn 免费软件机器学习库 有分类 回归 聚类算法 支持向量机 随机森林 梯度提升 K均值
- matplotlib 2D绘图软件库 硬拷贝格式和跨平台的交互式环境生成版质量级别的图形