大数据分析
大数据分析->机器学习->计算机视觉
ML:数据用于计算
BDA:计算用于数据
大数据定义
datasets whose size is beyond the ability if typical database software tool to capture, store, manage, and analyze.
4Vs
Volume velocity veracity variety (?value)
5G
Gain Growth Gamification Governance Globalization
数据挖掘
给定大量数据
发现具有以下特征的模型:
有效性
可用性
出乎意料
可理解性
数据挖掘常见任务
描述类方法
预测类方法
数据挖掘的风险
发现没有价值的模式
考虑的几个方向
数据形态,操作,挑战
本地与云
hadoop
apache开发的开源的分布式计算系统,是搭建大数据平台常用的
stateDiagram DataCollectioan --> DataStorage DataStorage --> DataProcessing DataProcessing --> DataGovernance DataGovernance --> UnifiedDataAccessAndDelivery UnifiedDataAccessAndDelivery --> UseCases
BDA in Education
- Grading
- Career guidance
- Custom learning plans
BDA in Healthcare
- Predictive analytics
- EHRs
- Monitoring
- Cure cancer
BDA in government
- Defense
- Cyberattacks
- Welfare Schemes
BDA in Media and Entertain
- Predict interest of audience
- Targeted ads
- Performance measuring
BDA in transportation
- Government
- Private servieces(面向私域的服务,高速公路上的广告牌)
- Daily usage
BDA in banking and finance
- 股票预测
- 诈骗检测
- 交易
- 风险监测
- 利率计算
BDA in retail
- predict spending
- personalization
- Demand forcast
云计算分类
基于部署分类
- 私有云(自己保管)
- 公有云(第三方托管)
- 混合云
基于服务分类
- IaaS(网络硬件)
- PaaS(云主机)
- SaaS(云应用)
- FaaS(云函数)
云平台
- google cloud
- data flow
- Aws
- 生态很全嘞
- Azure
云计算四大层
Data layer 数据存储
存储Raw data
- HDFS(最流行,很鲁棒)
- Amanzon S3
- MongoDB(面向文件的数据库)
- …
Ingestion & Integration layer 数据集成
集成,准备,清洗
- Stitch
- Blendo
- Kafka(作业里面要用 Apache开源)
- …
Data processing layer 数据处理
是一个算力敏感的服务
- Spark
- Postgresql(老东西了,可靠性比较好)
- Sqream(完全的relational base,可以提供较好的压缩服务)
- …
Analytics & BI layer 数据分析
可以在这里使用query,建立dashboard等等
- Tableau (数据可视化)
- Chartio (基于名?的BI)
- Looker
Big data beyond Hadoop
Total Cost of Ownership
- storage
- Analytics compute
- data migration and integration
- streaming analytics
- BI(Bussiness Intelligence)
- ML or AI
为啥要在云上部署
- support
- pricing
- utilities
questions to consider
- which to move
- Factors to consider
- Data integration
- Benefits expected
Subscription models in cloud
- Hardware opt
- Set-up and ongoing expense
- IT
- Security
- Energy
订阅方式:
flat-rate
反正就是这么多钱,你给不给吧
tiered
分层计费嘞
Scaling
Horizontal-增加节点
P2P,Hadoop,spark
Vertical-提升单机的能力
HPC,多核处理器,GPU
Data Ingestion
Tools:
Hand coding
Single-purpose tools
Data Integration Platforms
A DataOps Approach
Data Destinations
Cloud data migration
Data Ingestion vs Data Integration
前者简单,后者复杂
前者主要在与将原始数据迅速集中转移到某处,后者是要将数据准备好,提高数据质量,包含一系列转换
Apache NIFI
ETL process
stateDiagram data --> ETL ETL --> analytical_data analytical_data --> presentation
Dirty data
- 数据缺失
- 被加密的数据
- 矛盾的数据
- 违反了数据规则
- 复用了主键
- Unique特征不再Unique
- 数据集成问题
Data cleaning 数据清洗
Data Ingestion优点
- 扩展性
- 集成
- 灵活性(Batch Streaming,多种处理方式,满足不同使用场景)
ETl 优点
- 数据质量(数据清洗)
- insights(通过基本数据提取可以获得一致的数据格式)
- 业务流程的改善(多个来源的数据集成到单一数据中心)
- cost(自动化处理任务减少人力成本)
存在的挑战
- 数据质量
- 数据集成
- 数据安全与隐私
- 性能与可扩展性
- 数据血缘
Distributed File System
Assumptions
- 由大量廉价的经常出问题的部件组成
- 大文件
- 读取:主要是流式读取,小部分随机读取
- 大规模顺序写入
- 良定义的语法,与app协同操作
- 高带宽比低延时更重要
GFS cluster
- 一个master(通过心跳和chunckserver通信)
- 很多chunkservers
- 同时被多个客户端使用
Files
- 文件被划分为固定大小的chunks
- chunks有副本,一般是是三个
- 每个chunk有一个独特的label
Single Master
- 一个master服务器
- 存储了与chunck有关的metadada
- 通过心跳与chunckservers连接
Chunk servers
- 将文件以Linux文件存储
Chunk size
大的chunk size
- 减少客户端与master之间的交互
- 减少客户端与chunkserver的TCP链接
- 减少master节点存储元数据的开销
- 缺点:增加出现热点的可能性(大家都请求一个chunk,但是可以通过多副本来缓解这个问题)
- 缺点:小文件也会占用整个块
Metadata
- 内容
- namespaces
- mapping from files to chunks
- Location of each chunk’s replica
- Chunk locations
- 在启动时从chunkservers获取
- master长久保持,控制所有chunck,通过心跳监控chunck状态
Guarantess by GFS
Implications for apps
- Relying on appends rather on overwrites
- Checkpointing
- Writing self-validating records(可以验证)
- Self-identifying records(唯一标识)
租约和变更顺序
- master通过租约来获得持久的针对副本的变更顺序
- 一个primary chunk或获得租约
数据流
- Decoupled from control flow
- Pipelined fashion
- 数据通过Tcp管道式传输
- 每一个机器将数据转发到“最近的”机器
贝叶斯
条件概率
事件B发生的情况下,事件A发生的概率
贝叶斯定律
$P(A)P(B|A)=P(B)P(A|B)$
后验概率=先验概率*调整因子
Google 三架马车
- GFS google file system:解决分布式存储的问题
- BigTable
- MapReduce
知识图谱
知识图谱其实是一种大规模语义网络,富含实体、概念及其之间的各种语义关系
领域知识图谱
聚焦某一领域的知识图谱,比如司法知识图谱
诞生标志:2012年,Google收购Metaweb,正式发布知识图谱
传统知识工程
- 自上而下:严重依赖专家和人的干预
- 规模有限
- 质量存疑
- 隐形知识、过程知识难以表达
- 领域知识的形式化表达较为困难
- 专家知识不可避免的存在主观性
- 不同专家之间知识存在不一致性
- 知识表达难以完备,缺漏是常态
- 应用易于超出预先设定的知识边界
- 很多应用需要常识支撑
- 难以处理异常情况
- 难以处理不确定性推理
- 知识更新困难
大数据时代知识工程BigKE
- 大规模开放性应用
- 永远不知道用户下一个搜索关键字是什么
- 精度要求不高
- 应用推理简单
- 大部分搜索理解与回答只需要实现简单的推理
知识获取
- 众包技术
- 基于众包的Taxonomy
- 高质量UGC
优势
- Large scale
- semantically