• 大数据之路_2


    1.大数据框架与平台
    工作:处理数据
    磁盘文件中的数据
    网络中的数据流或数据包
    数据库中的结构化数据

    1.大数据工作
    处理数据

    数据结构:
    	磁盘文件中的数据
    	网络中的数据流或数据包
    	数据库中的结构化数据
    

    2.数据规模
    TB
    PB
    3.分布式环境中处理大数据
    (1)分布式环境,多台计算机共同承担计算任务
    (2)存储系统
    (3)计算任务的分配
    (4)计算负荷的分配
    (5)计算机之间的数据迁移
    (6)计算机或网络发生故障时的数据安全

    4.实例
    问题:从销售记录中统计各种商品销售额
    解决方案:
    (1)单机:
    扫描所有信息记录,对销售额累加
    如果存在关系数据库中,一个SQL语句就好了
    (2)加入:很多的销售记录
    需要设计出由多态计算机来统计销售额的方案,

         为了保证计算的正确、可靠、高效及方便,需要考虑下列问题:
         (1)如何为每台计算机分配任务,是先按商品种类对销售记录进行分组,不同机器处理不同商品种类的记录
    				    随机向每台机器发送一部分销售记录进行统计,最后将各机器统计的结果,按照商品种类合并。
             (2)那排序的时候,如何排序,用哪种排序算法?在哪台机器上执行排序过程?
    		每台机器处理的数据,从哪里来,到哪里去?数据是主动发送,还是接收方申请发送?
    		如果是主动发送,接收方处理不过来怎么办?
    		如果是申请发送,发送方应该保存多久数据。
         (3)会不会任务分配不均,有的机器很快处理完了,有的机器,一直在忙?甚至,闲的机器需要等着忙的机器处理完成后才能开始执行。
         如果增加一台机器,能不能减轻其他机器的负荷,从而缩短任务执行时间。
         如果一台机器挂了,它没有完成的任务,应该交给谁,会不会遗漏统计或者重复统计。
         统计过程中,机器之间如何协调,是否需要专门的一台机器指挥调度其他机器?如果这台机器挂了呢。
         (4)如果销售记录,还在源源不断的增加,统计还没有执行完,新纪录又来了,如何保证统计结果的准备性?能不能保证结果是实时更新的》?再次统计能不能避免大量
         重复计算。
         (5)能不能让用户执行一句SQL就可以得到结果
    
         上述问题,除了第一个,其他的分布式计算也会遇到,而且解决起来也相当棘手,即是第一个的分组,统计,在很多数据处理场合,也会遇到,只是,体现方式不同。如果把这些问题
         能封装到一个计算框架中,可以大大简化,这类应用程序的开发。
    
    
         2004年,Google先后发表了三篇我呢论来介绍分布式GFS,并行计算模型MapReduce ,非关系数据存储系统BigTable .第一次提出了针对大数据分布式处理的可重用方案/
         Hadoop .数十种,应用于分布式环境的大数据计算框架。
         如果不涉及,第8,9 个问题,(统计过程中,有新的记录过来,保证统计的实时性)属于批处理。
    

    5.大数据框架
    批处理
    批处理框架重点关心数据处理的吞吐量,又可分为非迭代式和迭代式两类。
    迭代式包括DAG(有向无环图)。图计算等模型。
    流处理
    针对第8个问题提出的对应方案,分两种情况:
    如果重点关注是实时性,属于流计算框架
    如果侧重避免重复计算:属于增量计算框架。
    如果是第9个问题(保证实时性,同时避免重复计算) 数据交互式分析框架。
    下面讨论 批处理、流处理、交互式分析的三种类别的框架,要介绍大数据框架的一些发展趋势。

    大数据框架
    	批处理
    		Map/Reduce Hadoop
    		DAG	Dryad. Tez,Spark,Fink DataSet API
    	        图计算	Pregel Giraph Hama PowerGraph
    	流处理
    		实时	MillWheel,S4,Storm,Samaz ,Heron,Grepump ,Flink ,Apex
    		小批量 Storm Trident , Spark Streaming .
    	交互式分析
    		Dremel ,Hive ,Presto ,Implala ,Stinger,Tajo
    	增量计算
    		Percolator,Kineograph,Galaxy 
    

    (1) Hadoop
    最初,Hadoop= HDFS+MapReduce .是从Nuth中独立出来的项目。
    在2.0 中,把资源管理和任务调度功能,从MapReduce 中剥离,形成YARN .
    使其他框架也可以像MapReduce那样,运行在Hadoop上。
    与之前的分布式计算框架相比,Hadoop隐藏了很多繁琐的细节,如容错,负载均衡等,便于使用。

    Hadoop 有很强的横向扩展能里,很容易把新的计算机,加入到计算机集群中参与计算。
    在开源社区支持下,Hadoop不断完善,集成了如,非关系数据库HBase,数据仓库Hive,数据处理工具Sqoop,机器学习算法Mahout .
    一致性服务软件Zookeeper .管理工具Ambari等,形成了相对完整的生态圈和分布式计算事实上的标准。
    Hadoop = HDFS+MapReduce+ HBase+ Hive + Sqoop + Mahout +Zookeeper+  Ambari (管理工具)等。
    
    引用程序主要负责设计map 和 reduce任务,其他工作游框架负责。在定义map任务输出数据的方式时,键的选择至关重要,也决定数据如何分组,
    排序,传输,以及执行reduce任务的计算机如何分工。
    可选择商品种类为键。MapReduce执行商品销售统计的过程如下:
    (1)把销售记录分片,分配给多台机器
    (2)每条销售记录,被解析成键值对,其中值为销售记录的内容,键可忽略
    (3)MapReduce 把map任务生成的数据按商品种类排序
    (4)待所有节点,都完成排序后,MapReduce启动reduce任务,每个商品种类对应一个reduce任务。
    (5)执行reduce任务的进程通过网络获取指定商品种类的歌词销售额。
    (6)MapReduce把同一种商品下的各种销售额合并到表中
    (7)执行reduce任务,累加各次销售额,得到该种商品的总销售额。
  • 相关阅读:
    前端发版后清理浏览器缓存处理
    CF235A 【LCM Challenge】
    CF39H 【Multiplication Table】
    CF171C 【A Piece of Cake】
    CF450A 【Jzzhu and Children】
    CF387B 【George and Round】
    火柴棒等式
    P1062 数列 题解
    P1045 麦森数
    (原创)最短路径那些事-1
  • 原文地址:https://www.cnblogs.com/sujingnuli/p/9953151.html
Copyright © 2020-2023  润新知