Coursera, Big Data 3, Integration and Processing (week 4)
Week 4
Big Data Precessing Pipeline
上图可以generalize 成下图,也就是Big data pipeline
some high level processing operations in big data pipeline
在一个pipeline里 有哪些data transformation 方法?课程上讲了一个类比data transformation的例子,把原木加工成家具.
基本的data transformation 操作有 : Map 是第一个,还有Reduce, Cross/Cartesian, Match/Join, Co-Group, Filter
Aggregation opeartions in big data pipeline
比如上图中,每个星星的值是1,求和就是一个aggregation操作,还有对所有星星按颜色分类也是一个aggression操作。 对全部数据求 sum, avg, max, min, std 都是aggression操作
analytical opearations in big data pipeline
Classification - DT
Clustering - K-means
Path analysis - find shortest path from home to work
Connectivity analyasis - graph
Big data processing tool and systems
上面是 big data 的3层结构, 系列课程的整个course 2就是讲最底层的 data management and storage 的. 第二层就是这个course 3 主要讲的内容
Redis, AeroSpike - key value storage
Lucene
Gephi - vector and graph data storage
Vertica, Cassadra, HBase- column store database
Solr, Asterisk DB - for managing unstrunctured and semi-structured text.
mongodb - document store
下面看第二层
YARN - enabler
Hive, Spark SQL - query interface
Pig - 脚本化使用 Map-Reduce 框架
Giraph, Spark GraphX - graph analytics
Mahout, Spark MLib - machine learning
接下来是第三层
OOZiE - workflow scheduler, 可以和第二层的很多tool 交互
ZooKeeper - Resource coordination and monitoring tool
现在回到第二层,主要讲5个data processing engine
Map-Reduce 从HDFS读数据,没有in-memory 支持,意味着Mapper只能写数据到files然后Reduce去读, 这就导致high letency 和 less scalable. 虽然也有python库但是只有Java可以作为高效编程语言.
Spark 支持迭代的交互的data processing pipeline. 有in-memory 结构的RDD(Resilient Distributed Datasets)支持, 除了支持 Map, Reduce 还支持Join, Filter 操作. 所有的transformation操作都能放到 RDD里,所有效率很高. 除了能从HDFS读数据,还可以从很多storage platform读数据。可以用micro-batching 技术读取streaming data.
Flink 和Spark 类似,同时提供了连接stream data ingestion engine (比如Kafka, Flume) 的接口. Flink 有自己的 execution engine 叫 Nephele, 它支持在Hadoop上跑,可以在自己的Nephele上跑。 除了支持Map, Reduce, 还支持join, group by. Flink最大的优点是有一个优化器可以自动选择最优模式和实行策略.
Beam, 来自google
Storm, 提供了输入抽象 spouts 和计算抽象 bolts. Storm 提供了Lambda Architecture, 可以把streaming 处理和 batch 处理分开处理
开始版本的Storm 是下面这样的,batch 和 steam 分开处理
新版本的storm 可以用spark 既处理stream又处理batch.
Dive into Spark
Hadoop 的MapReduce 又弊端,首先它是针对batch processing的,对streaming 不支持,还有它只支持Map 和Reduce两种操作,很多情况下无法满足一个复杂Pipeline的需求
Spark 的优点如下
Spark组件建立在Spark计算引擎上, 其中Spark Core 包括支持分布式调度,内存管理,全容错。和像YARN和Mesos 这样的资源调度器,以及像HBase等各种NoSQL数据库交互都是通过Spark Core.Core 非常重要的一个部分是用来定义RDD的APIs.
Spark SQL 可以通过共同的query languange 查询结构化和非结构化数据.
Spark Streaming 对streaming data 做操作的.
MLlib 是机器学习库
GraphX - 图处理分析库
Getting started with Spark
Spark Cluster Manager 支持3种接口: Standalone Cluster Manger, YARN, Mesos.
怎么选 cluster manager, 见下面link.
Summary architecure
Terms:
neo4j - graph database, 用来查询的query language 叫 Cypher.
Kafka - stream data ingestion engine
Flume - stream data ingestion engine, collects and aggregates log data
Coursera, Big Data 3, Integration and Processing (week 4)的更多相关文章
- Coursera, Big Data 3, Integration and Processing (week 1/2/3)
This is the 3rd course in big data specification courses. Data model reivew 1, data model 的特点: Struc ...
- Coursera, Big Data 3, Integration and Processing (week 5)
Week 5, Big Data Analytics using Spark Programing in Spark Spark Core: Programming in Spark us ...
- Coursera, Big Data 4, Machine Learning With Big Data (week 1/2)
Week 1 Machine Learning with Big Data KNime - GUI based Spark MLlib - inside Spark CRISP-DM Week 2, ...
- Coursera, Big Data 2, Modeling and Management Systems (week 4/5/6)
week4 streaming data format 下面讲 data lakes schema-on-read: 从数据源读取raw data 直接放到 data lake 里,然后再读到mode ...
- Coursera, Big Data 2, Modeling and Management Systems (week 1/2/3)
Introduction to data management 整个coures 2 是讲data management and storage 的,主要内容就是分布式文件系统,HDFS, Redis ...
- Coursera, Big Data 1, Introduction (week 3)
什么是分布式文件系统?为什么需要分布式文件系统? 如果文件系统可以管理用网络连接的很多个存储单元,叫分布式文件系统. 分布式文件系统提供了数据可扩展性,容错性,高并发. 这些是传统文件系统不具有的. ...
- Coursera, Big Data 1, Introduction (week 1/2)
Status: week 2 done. Week 1, 主要讲了大数据的的来源 - 机器产生的数据,人产生的数据(比如社交软件上的update, 一般是unstructed data), 组织产生的 ...
- Coursera, Big Data 4, Machine Learning With Big Data (week 3/4/5)
week 3 Classification KNN :基本思想是 input value 类似,就可能是同一类的 Decision Tree Naive Bayes Week 4 Evaluating ...
- In-Stream Big Data Processing
http://highlyscalable.wordpress.com/2013/08/20/in-stream-big-data-processing/ Overview In recent y ...
随机推荐
- 苹果手机连接Wifi认证机制
Wifi状态保持方法和nas设备 https://patents.google.com/patent/CN106793171A/zh 基于ios终端的离线wifi热点认证方法和认证系统 https:/ ...
- JavaWeb工程中web.xml基本配置(转载学习)
一.理论准备 先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对. web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文 ...
- 基于HTML5 的互联网+地铁行业
前言 近几年,互联网与交通运输的融合,改变了交易模式,影响着运输组织和经营方式,改变了运输主体的市场结构.模糊了运营与非营运的界限,也更好的实现了交通资源的集约共享,同时使得更多依靠外力和企业推动交通 ...
- Kali Linux Netcat 学习 与 网络攻击
Netcat 网络攻击 以及 应用 1.用Netcat进行黑客攻击第1部分:基础知识 Netcat是一个很好的网络实用程序,用于使用TCP和UPD协议读取和写入网络连接.Netcat通常被称为网络工具 ...
- Leetcode 88. Merge Sorted Array(easy)
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- 646. Maximum Length of Pair Chain(medium)
You are given n pairs of numbers. In every pair, the first number is always smaller than the second ...
- Steps to One DP+莫比乌斯反演
卧槽,这么秀吗??? 暂时留坑...
- iview库表table组件内嵌套Select组件
表格内render函数渲染Select组件 { title: '属性值', key: 'values', render:(h,params)=>{ return h('Select',{ ...
- Mantis中文网
Mantis中文网 | Mantis安装.Mantis使用.Mantis中文http://www.mantis.org.cn/ Mantis Bug Tracker | Demohttp://www. ...
- DAY12、装饰器
一.补充:nonlocal关键字 1.作用:将L与E(E中的名字需要提前定义)的名字统一 2.应用场景:如果想在被嵌套的函数中修改外部函数变量(名字)的值 3.案例: def outer(): ...