当前位置: 首页 > news >正文

科技公司网站设计欣赏网站建设需要会什么软件有哪些

科技公司网站设计欣赏,网站建设需要会什么软件有哪些,沈阳好的网站,福州公司网站设计Hadoop 基础原理 基本介绍Hadoop 的必要性Hadoop 核心组件Hadoop 生态系统中的附加组件 HDFSHDFS 集群架构HDFS 读写流程HDFS 写流程HDFS 读流程 NameNode 持久化机制 MapReduce底层原理示例 Hadoop 是一个由 Apache 基金会开发的分布式系统基础架构#xff0c;主要解决海量数… Hadoop 基础原理 基本介绍Hadoop 的必要性Hadoop 核心组件Hadoop 生态系统中的附加组件 HDFSHDFS 集群架构HDFS 读写流程HDFS 写流程HDFS 读流程 NameNode 持久化机制 MapReduce底层原理示例 Hadoop 是一个由 Apache 基金会开发的分布式系统基础架构主要解决海量数据的存储和计算问题广义上 Hadoop 指的是 Hadoop 生态圈包含 HDFS、Hive、MapReduce 多种组件 基本介绍 Hadoop 的必要性 Hadoop 主要解决了海量数据的存储问题 高可用性底层会维护多个数据副本所以即使 Hadoop 某个计算元素或存储出现故障也不会导致数据的丢失。高扩展性 在集群间分配任务数据可方便的扩展数以千计的节点。高效性 在 MapReduce 的思想下Hadoop 是并行工作的以加快任务处理速度。高容错性 能够自动将失败的任务重新分配。 一个 block 块在 NameNode 中占150byte固定过多小文件会占用 NameNode 内存 小文件的寻址时间大于读取时间 不支持并发写和随机写 一个文件只能有一个写不允许多线程同时写 Hadoop 核心组件 Hadoop 核心组件包含以下两种 HDFS高可靠、高吞吐的分布式文件系统MapReduce分布式离线并行计算框架 Hadoop 生态系统中的附加组件 我们后端开发接触的比较多的是Hadoop 生态系统中的附加组件Sqoop 以及 Hive分别用来同步数据和查询数据 SqoopHadoopHive与传统数据库Mysql之间传输数据的工具支持批量导入和导出数据 Flume 高可用、高可靠分布式的海量日志采集、聚合和传输系统Spark是一个通用的分布式计算框架支持内存计算可以显著提高数据处理速度。它支持多种计算模式包括批处理、流处理、机器学习等HBaseHBase 是一个分布式的、面向列的 NoSQL 数据库建立在 HDFS 之上。它提供了实时读写访问适合处理大规模数据集Hive是基于 Hadoop 的数据仓库工具它提供了一种 SQL-like 的查询语言HiveQL使用户可以方便地进行数据查询和分析。它可以将 HiveQL 转换为 MapReduce 任务执行 HDFS HDFS 是 Hadoop 的分布式文件系统解决了海量数据的存储问题 HDFS 集群架构 HDFS 使用 Master/Slave 架构架构逻辑比较类似 Kafka、ES 等 Apache 的其他项目 一般一个集群有一个 NameNode 和一定数目 DataNode 组成Namenode 是 HDFS 集群主节点Datanode 是 HDFS 集群从节点两种角色各司其职共同协调完成分布式的文件存储服务 HDFS 中文件在物理上是分块存储通过 dfs.blocksize 配置2.x之后的版本默认128M HDFS 中文件在逻辑上是连续的提供一个文件目录树 HDFS 读写流程 HDFS 写流程 1客户端向 NameNode 发送写数据请求包含待上传文件名和将要上传的路径 2NameNode 检查路径是否存在文件是否重名等假设满足上传条件 3NameNode 向客户端响应数据可以上传文件 4客户端根据文件大小进行切分成一个个 block 块并向 NameNode 发送提交即将上传 block1 的请求 5NameNode 查询 DataNode 信息规划 block1 的存储位置 6NameNode 向客户端返回 block1 可以存储的数据节点 ip 列表 7客户端直接请求数据节点1上传 block1数据节点1存储 block1 完毕并根据 ip 列表将 block1 发送给数据节点8数据节点2存储完毕 block1 并根据 ip 列表将 block1 发送给数据节点3数据节点3存储完成响应数据给数据节点2数据节点2将响应数据给数据节点1数据节点1将存储结果返回给 NameNode 和客户端 9重复第四步上传下一个block 我知道你们想问什么为什么 HDFS 的写流程必须一个个的上传块不能并发上传吗这是设计者对于 HDFS 写少读多场景的这种考量。该场景如此设计的好处 1每个数据块的写入是原子操作即要么成功写入要么完全不写入。这确保了数据的一致性。如果并发写入需要考量并发安全性问题 2集群默认全同步数据高可靠 HDFS 读流程 1客户端向 NameNode 请求下载文件 2NameNode 返回目标文件的元数据 3客户端根据元数据请求 DataNode 读取数据 block 4DataNode 向客户端传输数据 5重复第三步直到所有的块传输完成 6客户端根据元数据组装 block 块完成读取数据 NameNode 持久化机制 NameNode 元数据的存储位置是在内存中但是内存一旦断电元数据将丢失因此必须将内存中的元数据存储在磁盘中用于备份这里引入额外一个概念叫 Fsimagem Fsimagem 为内存元数据的备份。若内存的元数据发生改变如果同时更新 Fsimage 会降低效率如果不更新会发生数据不一致问题 针对上述问题最终逻辑是不更新 Fsimage 文件为解决数据不一致问题引入 edits 文件该文件只记录操作并且采用追加写的形式即每当内存的元数据发生改变的同时记录本次操作记录追加到磁盘中的 edits这样内存元数据等于磁盘的 Fsimage edits 当 NameNode 启动时先滚动 edits 并生成一个空的 edits.inprogress会将 Fsimage 和 edits 文件加载到内存中进行合并之后的操作增删将追加到 edits.inprogress 中 其行为类似 redis 的 RDB 和 AOF 机制 MapReduce MapReduce 是一种编程模型和分布式计算框架是开发基于 Hadoop 的数据分析应用的核心框架。MapReduce 的主要用途包括 大数据处理处理和分析 PB 级别的数据如日志分析、数据挖掘、统计分析等数据转换将原始数据转换为所需的格式如 ETLExtract, Transform, Load任务数据索引构建大规模数据的索引如搜索引擎的网页索引机器学习处理大规模的训练数据进行模型训练和预测 总之只要是统计或者计算 Hadoop 中的数据都会用到 MapReduce。Hive基于 Hadoop 的数据仓库工具它提供了一种 SQL-like 的查询语言使得用户可以方便地进行数据查询和分析底层对接 MapReduce 来执行查询和数据处理任务。Hive 的查询最终会被转换成一个或多个 MapReduce 作业来执行 底层原理 MapReduce 实现分布式计算分成2个阶段Map映射和 Reduce归约 第一个阶段 MapTask 并发实例完全并行运行互不干扰。首先会将输入数据分割成多个小块每个小块称为一个切片split。每个切片的大小通常与 HDFS 的块大小默认 128MB一致。这么做使数据能够并行处理提高处理速度。 随后我们对输入数据进行处理生成中间键值对key-value pairs。每个 Map 任务从输入切片中读取数据对每条记录调用用户定义的 Map 函数生成中间键值对 第二个阶段 ReduceTask 完全并行运行数据依赖上一个阶段所有 MapTask 并发实例输出。将 Map 任务生成的中间键值对进行分区、排序和合并 分区Partitioning根据键的哈希值将中间键值对分配到不同的 Reduce 任务中排序Sorting对每个分区内的键值对按键进行排序合并Merging将来自不同 Map 任务的相同键的键值对合并在一起 MapReduce 编程模型只能包含一个 Map 阶段一个 Reduce 阶段但可以实现多个 MapReduce 串行运行 示例 上面的描述可能有些抽象让大家有很多问题比如为啥 ReduceTask 也可以并行执行如果 MapTask 的产物是键值对的话那么存放在 HDFS 的关系型表会怎么转换成键值对然后暴露给我们接下来举个例子让大家更加深入的了解问题 假设我们有一个关系型表 users其结构如下 user_idnameagecity1Alice25New York2Bob30London3Carol22New York4Dave28Tokyo 假设我们要计算每个城市的用户数量 SELECT city, COUNT(*) AS user_count FROM users GROUP BY city;在这个例子中Map 阶段会将每行数据转换为键值对其中键是城市名称值是用户 ID。例如 输入行1, Alice, 25, New York。输出键值对(New York, 1)输入行2, Bob, 30, London。输出键值对(London, 2)输入行3, Carol, 22, Paris。输出键值对(New York, 3)输入行4, Dave, 28, Tokyo。输出键值对(Tokyo, 4) Map 阶段结束我们就得到很多键值对在 Reduce 阶段Hive 会将 Map 任务生成的中间结果按键进行分组相同城市的键值对会被分到一个 ReduceTask 中 (New York, [13]) - (New York, 2)(London, [2]) - (London, 1)(Tokyo, [4]) - (Tokyo, 1) ReduceTask 输出最后的处理结果。所以一个 sql 在 Hive 中的执行流程和普通 db 中是完全不一样的。通过上面的 case 我们可以看出先 map 后 reduce 事实上就是想利用并发的能力处理大量数据Hadoop 的创作者们将我们所有的查询操作都抽象成了这完全可以并行执行的两步
http://www.hkea.cn/news/14490781/

相关文章:

  • 网站权重降低做游戏网站需要哪些许可
  • 西部数码手机网站wordpress结合python
  • 微信端网站开发模板在那可以做公司网站
  • 域名 和网站有什么区别天马网络网站
  • 哈尔滨网站建设 seo广东个人备案网站内容
  • 班级网站策划书天津技术网站建设
  • 建设工程消防信息网站旅游网页模板免费下载
  • 做暖暖视频免费观看免费网站wordpress 伪静态 后台
  • 阿里云虚拟主机做企业网站深圳网站备案拍照点
  • 分析企业网站建设流程平面设计必备软件
  • 网站建设怎样推广做网站跟app
  • 社区网站推广方案培训机构参与课后服务
  • 网站规划设计是什么样的排名优化系统
  • 做淘宝客网站需要多大空间什么网站可以做特价活动
  • 浙江建设网站公司外贸企业网站推广方案
  • 淘宝网站建设不允许西安企业网站开发哪家好
  • 南宁旅游网站建设wordpress远程附件
  • 网站管理的内容包括怎样才能建立网站
  • 做网站对服务器什么要求高asp企业网站源码下载
  • html5网站代理建网站的服务器
  • 宁海县城镇建设局网站wordpress 简洁文章主题
  • 网站运营推广难做吗网络推广软件哪个好
  • 在哪个网站做流动补胎的广告好建立企业网站方案
  • 古典风格中药医药企业网站模板源码flash个人网站动画
  • 广州购物网站开发php网站开发技巧
  • 电子商务网站建设过程报告导购网站如何做免费推广
  • 给个网站可以在线wordpress导航主题模板
  • win10 做网站服务器潜江资讯网官网
  • 网站建设 计入哪个科目wordpress开头
  • 蚌埠 网站制作济南建设档案大厦