热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何理解大数据

1,大数据与gfs,mapreduce,bigtable大数据被大家广泛认同的起源是google的三篇论文,描述了分布式文件系统gfs,分布式文件处理mapreduce

  1,大数据与gfs,mapreduce,bigtable

 

  

 

  大数据被大家广泛认同的起源是google的三篇论文,描述了分布式文件系统gfs,分布式文件处理mapreduce,以及大表bigtable。

 

  通常来说,我们所说的“大数据”技术,一般指的是hadoop生态圈技术。hadoop的三个核心组件是hdfs,mapreduce,yarn.

 

  大数据要解决的是什么问题?这是理解大数据的关键,大数据解决的无非就是分布式存储,分布式运算,分布式调度的问题。为了解决这三个问题,hadoop发展了前面所说的三个核心组件。这三个核心组件需要相互对照来看才能正确理解大数据,不能单独拿一个来看。

 

  

 

  2,分布式系统CAP理论

 

 

   CAP理论不是一个科学结论,是一个经验结论,不同人有不同观点,下面是个人拙见:

  在分布式系统中存在着一致性,可用性,分区容错性三个问题,在理论派眼中被称之为CAP理论。之所以存在这三个问题,原因就是分布式存储中,数据副本的数据同步需要时间,数据副本间可用状态不一致,存在多个数据副本。

  数据越准确,请求响应速度越慢,分区容忍性越低。响应越迅速,数据准确性越低,分区容忍性越低。分区容忍性越高,数据越不准确,请求响应速度越慢。

  CAP理论说明在需要在这三者间进行取舍。

 

 

  3,hadoop中hash算法的应用

 

 

 

  hadoop主要是依靠hash算法,将每台机器抽象为hash的一个桶来实现分布式的读写的。同时利用hash算法对数据的标识字段进行取模,抽取并散列数据特征,实现相同特征的数据在reduce阶段在同一台机器上处理。当然,为了防止个别机器负载过高,需要每台机器及时向调度节点namenode报告自己的资源状况,主节点在分配任务时根据资源消耗状况分配任务。除此之外,namenode的内存中上还保留着元数据,当请求来临时能很快的将任务分配给相应节点。

 

 

 

  4,hbase与LSM树

 

 

 

  传统的小型机时代RDBMS单表的合并受限于主机内存,单表通常不会太大。在hbase中,单表的容量被大大扩展,主要是通过key值分区可以将单表数据存储到多台主机,同时采用LSM树,在compact阶段可以使用mapreduce对百G级别乃至更大的数据进行合并,使其存储进一个索引结构中。不过,当执行major compact时mapreduce会造成大量网络流量,需要注意。

 

 

 

  5,hive数据仓库的本质

 

 

 

  hive是一个被sql脚本化的mapreduce程序。一般来说,没有分组统计的sql相当于没有reduce过程的mapreduce,有分组统计的sql相当于一个完整的mapreduce过程。

 

 

 

  6,分布式日志flume与流处理storm

 

 

 

  分布式的日志的管理,是保持数据一致和监控集群运行状况的核心。流处理是分布式内存版的mapreduce,补充了mapreduce。

 

 

 

  写在文末:理解新技术的核心是对传统技术和对算法的理解,在大数据中最核心的是内存和磁盘的物理特性以及hash算法的应用。

 


推荐阅读
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • 本文详细解析了高性能通信库 NanoMsg 的框架及其应用场景。其中,BUS模式支持多对多的简单通信方式,消息会传递给所有直接连接的节点。REQREP模式则适用于构建无状态的服务集群,用于处理用户的请求,每个请求都需要一个相应的响应。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
author-avatar
LYJ189_163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有