美文网首页我爱编程
数据的处理及未来

数据的处理及未来

作者: 乘瓠散人 | 来源:发表于2018-05-26 16:20 被阅读19次

数据的处理

Hadoop

Hadoop是一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的高速运算和存储能力。Hadoop构建了一个分布式文件系统,Hadoop Distributed File System(HDFS),HDFS有着高容错性,而且它提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,这样就可以以流的形式访问文件系统中的数据。

  • 优点
    能够对大量数据以一种可靠、高效、可伸缩的方式进行分布式处理。
    可靠是因为它假设计算元素和存储会失败,因此维护多个工作数据副本,确保能够针对失败的节点重新分布处理;
    高效是因为它以并行的方式工作,通过并行处理加快处理速度;
    可伸缩是因为它能够处理PB级数据。
    此外,由于它依赖于社区服务器,因此他的成本比较低,任何人都可以使用。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。
    • 高可靠性:Hadoop按位存储和处理数据的能力值得信赖
    • 高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
    • 高效性:Hadoop能在节点间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
    • 高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
  • 架构
    最底部是HDFS,它存储Hadoop集群中所有存储节点上的文件。HDFS上一层是MapReduce引擎,该引擎由JobTrackers和TaskTrackers组成。
    • HDFS
      HDFS架构是基于一组特定的节点构建的,这些节点包括NameNode(仅一个),它在HDFS内部提供元数据服务;DataNode,它为HDFS提供存储块。由于仅存在一个NameNode,因此这是HDFS的一个缺点(单点失败)。
      存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。块的大小和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作,HDFS内部的所有通信都基于标准的TCP/IP协议。
    • MapReduce
      MapReduce本身就是用于并行处理大数据集的软件框架,它的根源就是函数式编程中的Map和Reduce函数。Map函数接受一组数据并将其转换为一个键值对列表,输入域中的每个元素对应一个键值对。Reduce函数接受Map函数生成的列表,然后根据它们的键合并键值对。
      并行功能实现机制:
      一个代表客户机在单个主系统上启动的MapReduce应用程序称为JobTracker,它是Hadoop集群中唯一负责控制MapReduce应用程序的系统。在应用程序提交之后,将提供包含在HDFS中的输入和输出目录。JobTracker使用文件块信息(物理量和位置)确定如何创建其他TaskTracker从属任务。MapReduce应用程序被复制到每个出现输入文件块的节点,将为特定节点上的每个文件块创建一个唯一的从属任务。每个TaskTracker将状态和完成信息报告给JobTracker。
      Hadoop没有将存储移动到某个位置以供处理,而是将处理移动到存储。

Spark

Spark被称为下一代计算平台,它立足于内存计算,从多迭代批量处理出发,兼容并蓄数据仓库、流处理和图计算等多种计算范式。
Spark是基于内存计算的集群计算系统,设计目标是让数据分析更加快速,提供比Hadoop更上层的API,支持交互查询和迭代计算。
Spark拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
Spark程序工作在两个空间中:Scala原生数据空间和Spark RDD空间

  • Scala原生数据空间
    在原生数据空间中,数据表现为标量、集合类型和持久存储(如HDFS)。
  • Spark RDD空间
    RDD: Resilient Distributed Datasets,弹性分布式数据集, 是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低。对开发者而言,RDD可以看作是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD ,不同的分片、 数据之间的依赖 、key-value类型的map数据都可以看做RDD。
    Spark编程模型中多种算子:
    1)输入算子:将Scala集合类型或存储中的数据吸入RDD空间,转为RDD
    2)变换算子:RDD经过变换算子生成新的RDD
    3)缓存算子:有些RDD是计算的中间结果,其分区并不一定有相应的内存或存储与之对应,如果需要以备未来使用,可以调用缓存算子将分区物化存下来。
    4)行动算子:输入是RDD,输出是执行后生成的原生数据,可能是Scala标量,集合类型的数据或存储。其效果是从RDD空间返回原生数据空间。
    元数据的结构是DAG,其中每一个顶点是RDD,从父RDD到子RDD有边,表示RDD间的依赖。Spark称元数据DAG为世系(Lineage),由世系来实现日志更新,世系一直增长,直到遇上行动算子,这时就要评估了,把刚才累积的所有算子一次性执行。
    Spark采用日志数据更新来实现容错。

数据的未来

智慧城市

智慧城市基于互联网、云计算等新一代信息技术以及维基、社交网络、FabLab、LivingLab、综合集成法等工具和方法的应用,营造有利于创新涌现的生态。利用信息和通信技术(ICT),可以令城市生活更加智能化,使我们高效利用资源,促进成本和能源的节约,改进服务交付和生活质量,减少对环境的影响,支持创新和低碳经济。
智慧城市的四个特征:全面透彻的感知,宽带泛在的互联、智能融合的应用以及以人为本的可持续创新。

智慧医疗

在医疗服务行业上,大数据可应用于临床诊断、远程监控、药品研发、防止医疗诈骗等方面。
医疗领域的数据有几种类型,第一种是医学影像的数据,像X光,CT等。
第二种是电子病例、电子健康档案。第三种是和基因组学、蛋白组学等新的治疗技术相关的。

可穿戴技术

可穿戴技术是指探索和创造能直接穿在身上,或是整合进用户的衣服或配件的设备的科学技术。
之所以要开发可穿戴技术,是为了通过“内在连通性”,实现快速的数据获取。通过超快的分享内容能力,高效的保持社交联系,摆脱传统的手持设备而获得无缝的网络访问体验。

相关文章

  • 数据的处理及未来

    数据的处理 Hadoop Hadoop是一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式...

  • 5.5 数据预处理

    数据预处理包括对收集的数据进行数据缺失处理、检测和过滤异常值及移除重复数据等步骤。 5.5.1 数据缺失处理 数据...

  • 大数据核心技术---Map技术

    大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据...

  • 从xarray走向netCDF处理

    从xarray走向netCDF处理(一):数据结构及数据读取 从xarray走向netCDF处理(二):数据索引 ...

  • 【数据分析】第三步,数据处理

    什么是数据处理? 一、数据处理的原则:“三心二意”处理数据 1.1、信心:是指做数据处理时即使未看见任何未来时,依...

  • Python建模复习:数据预处理

    第三部分 数据预处理 预处理技术:字段选择、数据清洗、字段扩充、数据编码 3.1数据清洗 异常数据甄别及处理方法:...

  • iOS CLLocation定位处理

    CLLocationManager 需要强引用 定位授权及相关处理 CLLocation 代理、数据获取的处理

  • 数据获取及处理

    基因课FTP地址:ftp://http://gsx.genek.tv/2020-3-10%E7%9B%B4%E6%...

  • 数据收集及处理

    1.数据来源 .数据库:公司业务数据库。 .公开出版物:《中国统计年鉴》、《世界经济年鉴》、《世界发展报告》等年鉴...

  • 数据倾斜及处理

    1.1操作: 1.2原因: 1)、key分布不均匀2)、业务数据本身的特性3)、建表时考虑不周4)、某些SQL语句...

网友评论

    本文标题:数据的处理及未来

    本文链接:https://www.haomeiwen.com/subject/lzrpjftx.html