Hadoop生态系统

Hadoop生态系统

  • 狭义的Hadoop

    • Hadoop的三大核心组件 HDFS, MapReduce,YARN
  • 广义的Hadoop

在这里插入图片描述

​ HDFS:文件存储系统基于硬盘

​ YARN:资源调度框架

​ MapReduce:分布式处理框架

​ Hive:数据仓库

​ RConnections:数据分析

​ Mahout:机器学习库

​ pig:脚本语言,跟Hive类似

​ Oozie:工作流引擎,管理作业执行顺序

​ Zookeeper:用户无感知,主节点挂掉选择从节点作为主

​ Flume:日志收集框架

​ Sqoop:数据交换框架,例如:关系型数据库与HDFS之间的数据交换

​ Hbase:海量数据查询,相当于分布式文件系统中的数据库

​ Spark:分布式计算框架基于内存

​ 1.spark core

​ 2.spark sql

​ 3.spark streaming 准实时 不算是一个标准的流式就算

​ 4.spark ML spark MLib

​ Kafka:消息队列

​ Storm:分布式的流式计算框架python操作storm

​ Flink:分布式的流式计算框架

  • Hadoop的生态系统的特点

    • 开源,社区活跃
    • 囊括了大数据处理的方方面面
    • 成熟的生态圈
  • HDFS读写流程&高可用

    • HDFS读写流程
      • 客户端向NameNode发出文件请求
      • 检查是否存在文件,检查权限,若通过检查,直接先将操作写入EditLog,并返回输出流对象.(注:WAL,write ahead log,先写Log,再写内存,因为EditLog记录的是最新的HDFS客户端所有的写操作.如果后续真实写操作失败了,由于在真实写操作之前,操作就被写入EditLog中了,故EditLog中仍会有记录,我们不用担心后续client读不到相应的数据块,因为在第5步中DataNode收到块后会有一返回确认信息,若没写成功,发送端没收到确认信息,会一直重试,直到成功)
      • lient端按128MB的块切分文件。
      • client将NameNode返回的分配的可写的DataNode列表和Data数据一同发送给最近的第一个DataNode节点,此后client端和NameNode分配的多个DataNode构成pipeline管道,client端向输出流对象中写数据。client每向第一个DataNode写入一个packet,这个packet便会直接在pipeline里传给第二个、第三个…DataNode。 (注:并不是写好一个块或一整个文件后才向后分发)
      • 每个DataNode写完一个块后,会返回确认信息。 (注:并不是每写完一个packet后就返回确认信息,个人觉得因为packet中的每个chunk都携带校验信息,没必要每写一个就汇报一下,这样效率太慢。正确的做法是写完一个block块后,对校验信息进行汇总分析,就能得出是否有块写错的情况发生)
      • 写完数据,关闭输输出流。
      • 发送完成信号给NameNode。(注:发送完成信号的时机取决于集群是强一致性还是最终一致性,强一致性则需要所有DataNode写完后才向NameNode汇报。最终一致性则其中任意一个DataNode写完后就能单独向NameNode汇报,HDFS一般情况下都是强调强一致性)
    • HDFS如何实现高可用(HA)
      • 数据存储故障容错
        • 磁盘介质在存储过程中受环境或者老化影响,数据可能错乱
        • 对于存储在 DataNode 上的数据块,计算并存储校验和(CheckSum)
        • 读取数据的时候, 重新计算读取出来的数据校验和, 校验不正确抛出异常, 从其它DataNode上读取备份数据
      • 磁盘故障容错
        • DataNode 监测到本机的某块磁盘损坏
        • 将该块磁盘上存储的所有 BlockID 报告给 NameNode
        • NameNode 检查这些数据块在哪些DataNode上有备份,
        • 通知相应DataNode, 将数据复制到其他服务器上
      • DataNode故障容错
        • 通过心跳和NameNode保持通讯
        • 超时未发送心跳, NameNode会认为这个DataNode已经宕机
        • NameNode查找这个DataNode上有哪些数据块, 以及这些数据在其它DataNode服务器上的存储情况
        • 从其它DataNode服务器上复制数据
      • NameNode故障容错
        • 主从热备 secondary namenode
        • zookeeper配合 master节点选举
【SCI复现】含可再生能源与储能的区域微电网最优运行:应对不确定性的解鲁棒性与非预见性研究(Matlab代码实现)内容概要:本文围绕含可再生能源与储能的区域微电网最优运行展开研究,重点探讨应对不确定性的解鲁棒性与非预见性策略,通过Matlab代码实现SCI论文复现。研究涵盖多阶段鲁棒调度模型、机会约束规划、需求响应机制及储能系统优化配置,结合风电、光伏等可再生能源出力的不确定性建模,提出兼顾系统经济性与鲁棒性的优化运行方案。文中详细展示了模型构建、算法设计(如C&CG算法、大M法)及仿真验证全过程,适用于微电网能量管理、电力系统优化调度等领域的科研与工程实践。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事微电网、能源管理相关工作的工程技术人员。; 使用场景及目标:①复现SCI级微电网鲁棒优化研究成果,掌握应对风光负荷不确定性的建模与求解方法;②深入理解两阶段鲁棒优化、分布鲁棒优化、机会约束规划等先进优化方法在能源系统中的实际应用;③为撰写高水平学术论文或开展相关课题研究提供代码参考和技术支持。; 阅读建议:建议读者结合文档提供的Matlab代码逐模块学习,重点关注不确定性建模、鲁棒优化模型构建与求解流程,并尝试在不同场景下调试与扩展代码,以深化对微电网优化运行机制的理解。
个人防护装备实例分割数据集 一、基础信息 数据集名称:个人防护装备实例分割数据集 图片数量: 训练集:4,524张图片 分类类别: - Gloves(手套):工作人员佩戴的手部防护装备。 - Helmet(安全帽):头部防护装备。 - No-Gloves(未戴手套):未佩戴手部防护的状态。 - No-Helmet(未戴安全帽):未佩戴头部防护的状态。 - No-Shoes(未穿安全鞋):未佩戴足部防护的状态。 - No-Vest(未穿安全背心):未佩戴身体防护的状态。 - Shoes(安全鞋):足部防护装备。 - Vest(安全背心):身体防护装备。 标注格式:YOLO格式,包含实例分割的多边形坐标和类别标签,适用于实例分割任务。 数据格式:来源于实际场景图像,适用于计算机视觉模型训练。 二、适用场景 工作场所安全监控系统开发:数据集支持实例分割任务,帮助构建能够自动识别工作人员个人防护装备穿戴状态的AI模型,提升工作环境安全性。 建筑与工业安全检查:集成至监控系统,实时检测PPE穿戴情况,预防安全事故,确保合规性。 学术研究与创新:支持计算机视觉在职业安全领域的应用研究,促进AI与安全工程的结合。 培训与教育:可用于安全培训课程,演示PPE识别技术,增强员工安全意识。 三、数据集优势 精准标注与多样性:每个实例均用多边形精确标注,确保分割边界准确;覆盖多种PPE物品及未穿戴状态,增加模型鲁棒性。 场景丰富:数据来源于多样环境,提升模型在不同场景下的泛化能力。 任务适配性强:标注兼容主流深度学习框架(如YOLO),可直接用于实例分割模型开发,支持目标检测和分割任务。 实用价值高:专注于工作场所安全,为自动化的PPE检测提供可靠数据支撑,有助于减少工伤事故。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值