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

网站如何调用百度地图手机应用开发要学什么

网站如何调用百度地图,手机应用开发要学什么,如何做国外外贸网站,微网站如何做微信支付宝支付宝支付目录 类比HDFS的存储架构 Spark的存储架构 存储级别 RDD的持久化机制 RDD缓存的过程 Block淘汰和落盘 类比HDFS的存储架构 HDFS集群有两类节点以管理节点-工作节点模式运行#xff0c;即一个NameNode(管理节点)和多个DataNode(工作节点)。 Namenode管理文件系统的命名空…目录 类比HDFS的存储架构 Spark的存储架构 存储级别 RDD的持久化机制 RDD缓存的过程 Block淘汰和落盘 类比HDFS的存储架构 HDFS集群有两类节点以管理节点-工作节点模式运行即一个NameNode(管理节点)和多个DataNode(工作节点)。 Namenode管理文件系统的命名空间。它维护着文件系统树及整棵树内的所有文件和目录。这些信息以两个文件形式永久保存在本地磁盘上命名空间镜像文件和编辑日志文件。Namenode也记录着每个文件中各个块所在的数据节点信息但是它并不会永久保存块的位置信息因为这些信息会在系统启动时根据数据节点信息重建。DataNode负责数据块的读写操作。DataNode在存储数据的时候是按照block为单位读写数据的。block是hdfs读写数据的基本单位。 一个数据块在datanode上以文件形式存储在磁盘上包括两个文件一个是数据本身一个是元数据包括数据块的长度块数据的校验和以及时间戳。 Spark的存储架构 Spark的存储模块类似HDFS的架构分为BlockManager和BlockManagerMaster。 BlockManager负责本节点的数据块的读写操作。BlockManagerMaster负责记录每个节点的元数据信息如每个数据块都存在于哪些节点上。BlockManager也可以接收BlockManagerMaster发来的信息对本节点的数据进行删除等操作。 BlockManager和BlockManagerMaster之间通过RPC的Endpoint通信。BlockManagerMaster只存在于Driver节点中BlockManager存在于Driver节点和每个Executor节点。每个Executor中有且仅有一个BlockManager。 Spark将存储的数据进行抽象每个存储的数据都称为一个Block每个Block都对应着唯一的id称为BlockId。在BlockManager中对数据进行读写都是根据BlockId进行的。如果某个BlockManager中存储了一份数据BlockManager会将该数据的BlockId和数据的存储状态(BlockStatus)发送至BlockManagerMaster中从而BlockManagerMaster中即可知道每个BlockId对应的数据都存放在哪些节点中。此外BlockManagerMaster还记录了同一个BlockId都在哪些节点上进行了存储。其中存储的位置信息是使用BlockManagerId表示的因为根据BlockManagerId即可找到相应的BlockManager。 根据存储的数据分类的不同使用不同类型的BlockId进行表示 RDDBlockId存储RDD某个分区数据根据RDD的id和分区来确定唯一值。ShuffleBlockId存储Shuffle过程Map端生成的数据使用ShuffleId、Map端分区、Reduce端分区确定唯一值。BroadcastBlockId存储广播变量数据。TaskResultBlockId存储Task结果。 存储级别 对于同一个Block而已存到内存还是磁盘只能二居其一对于RDD而言由于存在多个分区缓存时会产生多个Block有可能有的在内存有的在磁盘。 NONEDISK_ONLYMEMORY_ONLYMEMORY_ONLY_2MEMORY_ONLY_SERMEMORY_AND_DISKMEMORY_AND_DISK_SEROFF_HEAP RDD的持久化机制 弹性分布式数据集RDD作为 Spark 最根本的数据抽象是只读的分区记录Partition的集合只能基于在稳定物理存储中的数据集上创建或者在其他已有的 RDD 上执行转换Transformation操作产生一个新的 RDD。转换后的 RDD 与原始的 RDD 之间产生的依赖关系构成了血统Lineage。凭借血统Spark 保证了每一个 RDD 都可以被重新恢复。但 RDD 的所有转换都是惰性的即只有当一个返回结果给 Driver 的行动Action发生时Spark 才会创建任务读取 RDD然后真正触发转换的执行。 Task 在启动之初读取一个分区时会先判断这个分区是否已经被持久化如果没有则需要检查 Checkpoint 或按照血统重新计算。所以如果一个 RDD 上要执行多次行动可以在第一次行动中使用 persist 或 cache 方法在内存或磁盘中持久化或缓存这个 RDD从而在后面的行动时提升计算速度。事实上cache 方法是使用默认的 MEMORY_ONLY 的存储级别将 RDD 持久化到内存故缓存是一种特殊的持久化。 堆内和堆外存储内存的设计便可以对缓存 RDD 时使用的内存做统一的规划和管理 存储内存的其他应用场景如缓存 broadcast 数据暂时不在此讨论范围之内。 RDD 的持久化由 Spark 的 Storage 模块负责实现了 RDD 与物理存储的解耦合。Storage 模块负责管理 Spark 在计算过程中产生的数据将那些在内存或磁盘、在本地或远程存取数据的功能封装了起来。在具体实现时 Driver 端和 Executor 端的 Storage 模块构成了主从式的架构即 Driver 端的 BlockManager 为 MasterExecutor 端的 BlockManager 为 Slave。Storage 模块在逻辑上以 Block 为基本存储单位RDD 的每个 Partition 经过处理后唯一对应一个 BlockBlockId 的格式为 rdd_RDD-ID_PARTITION-ID 。Master 负责整个 Spark 应用程序的 Block 的元数据信息的管理和维护而 Slave 需要将 Block 的更新等状态上报到 Master同时接收 Master 的命令例如新增或删除一个 RDD。 Storage 模块示意图 在对 RDD 持久化时Spark 规定了 MEMORY_ONLY、MEMORY_AND_DISK 等 7 种不同的存储级别 而存储级别是以下 5 个变量的组合 class StorageLevel private( private var _useDisk: Boolean, //磁盘 private var _useMemory: Boolean, //这里其实是指堆内内存 private var _useOffHeap: Boolean, //堆外内存 private var _deserialized: Boolean, //是否为非序列化 private var _replication: Int 1 //副本个数 )通过对数据结构的分析可以看出存储级别从三个维度定义了 RDD 的 Partition同时也就是 Block的存储方式 存储位置磁盘堆内内存堆外内存。如 MEMORY_AND_DISK 是同时在磁盘和堆内内存上存储实现了冗余备份。OFF_HEAP 则是只在堆外内存存储目前选择堆外内存时不能同时存储到其他位置。存储形式Block 缓存到存储内存后是否为非序列化的形式。如 MEMORY_ONLY 是非序列化方式存储OFF_HEAP 是序列化方式存储。副本数量大于 1 时需要远程冗余备份到其他节点。如 DISK_ONLY_2 需要远程备份 1 个副本。 RDD缓存的过程 RDD 在缓存到存储内存之前Partition 中的数据一般以迭代器Iterator的数据结构来访问这是 Scala 语言中一种遍历数据集合的方法。通过 Iterator 可以获取分区中每一条序列化或者非序列化的数据项(Record)这些 Record 的对象实例在逻辑上占用了 JVM 堆内内存的 other 部分的空间同一 Partition 的不同 Record 的空间并不连续。 RDD 在缓存到存储内存之后Partition 被转换成 BlockRecord 在堆内或堆外存储内存中占用一块连续的空间。将Partition由不连续的存储空间转换为连续存储空间的过程Spark称之为展开Unroll。Block 有序列化和非序列化两种存储格式具体以哪种方式取决于该 RDD 的存储级别。非序列化的 Block 以一种 DeserializedMemoryEntry 的数据结构定义用一个数组存储所有的对象实例序列化的 Block 则以 SerializedMemoryEntry的数据结构定义用字节缓冲区ByteBuffer来存储二进制数据。每个 Executor 的 Storage 模块用一个链式 Map 结构LinkedHashMap来管理堆内和堆外存储内存中所有的 Block 对象的实例对这个 LinkedHashMap 新增和删除间接记录了内存的申请和释放。 因为不能保证存储空间可以一次容纳 Iterator 中的所有数据当前的计算任务在 Unroll 时要向 MemoryManager 申请足够的 Unroll 空间来临时占位空间不足则 Unroll 失败空间足够时可以继续进行。对于序列化的 Partition其所需的 Unroll 空间可以直接累加计算一次申请。而非序列化的 Partition 则要在遍历 Record 的过程中依次申请即每读取一条 Record采样估算其所需的 Unroll 空间并进行申请空间不足时可以中断释放已占用的 Unroll 空间。如果最终 Unroll 成功当前 Partition 所占用的 Unroll 空间被转换为正常的缓存 RDD 的存储空间如下图所示。 Spark Unroll 示意图 在上篇的静态内存管理小节可以看到在静态内存管理时Spark 在存储内存中专门划分了一块 Unroll 空间其大小是固定的统一内存管理时则没有对 Unroll 空间进行特别区分当存储空间不足时会根据动态占用机制进行处理。 Block淘汰和落盘 由于同一个 Executor 的所有的计算任务共享有限的存储内存空间当有新的 Block 需要缓存但是剩余空间不足且无法动态占用时就要对 LinkedHashMap 中的旧 Block 进行淘汰Eviction而被淘汰的 Block 如果其存储级别中同时包含存储到磁盘的要求则要对其进行落盘Drop否则直接删除该 Block。 存储内存的淘汰规则为 被淘汰的旧 Block 要与新 Block 的 MemoryMode 相同即同属于堆外或堆内内存新旧 Block 不能属于同一个 RDD避免循环淘汰旧 Block 所属 RDD 不能处于被读状态避免引发一致性问题遍历 LinkedHashMap 中 Block按照最近最少使用LRU的顺序淘汰直到满足新 Block 所需的空间。其中 LRU 是 LinkedHashMap 的特性。落盘的流程则比较简单如果其存储级别符合_useDisk 为 true 的条件再根据其_deserialized 判断是否是非序列化的形式若是则对其进行序列化最后将数据存储到磁盘在 Storage 模块中更新其信息。
文章转载自:
http://www.morning.kklwz.cn.gov.cn.kklwz.cn
http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn
http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn
http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn
http://www.morning.dndjx.cn.gov.cn.dndjx.cn
http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn
http://www.morning.nslwj.cn.gov.cn.nslwj.cn
http://www.morning.jsphr.cn.gov.cn.jsphr.cn
http://www.morning.nlglm.cn.gov.cn.nlglm.cn
http://www.morning.kcypc.cn.gov.cn.kcypc.cn
http://www.morning.qwmsq.cn.gov.cn.qwmsq.cn
http://www.morning.fksxs.cn.gov.cn.fksxs.cn
http://www.morning.xshkh.cn.gov.cn.xshkh.cn
http://www.morning.xgbq.cn.gov.cn.xgbq.cn
http://www.morning.jbnss.cn.gov.cn.jbnss.cn
http://www.morning.pfntr.cn.gov.cn.pfntr.cn
http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn
http://www.morning.ylpl.cn.gov.cn.ylpl.cn
http://www.morning.nlffl.cn.gov.cn.nlffl.cn
http://www.morning.spsqr.cn.gov.cn.spsqr.cn
http://www.morning.crtgd.cn.gov.cn.crtgd.cn
http://www.morning.tsflw.cn.gov.cn.tsflw.cn
http://www.morning.mqfw.cn.gov.cn.mqfw.cn
http://www.morning.fwllb.cn.gov.cn.fwllb.cn
http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn
http://www.morning.nhzps.cn.gov.cn.nhzps.cn
http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn
http://www.morning.ljglc.cn.gov.cn.ljglc.cn
http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn
http://www.morning.rwwdp.cn.gov.cn.rwwdp.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn
http://www.morning.bpmtg.cn.gov.cn.bpmtg.cn
http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn
http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn
http://www.morning.gmgyt.cn.gov.cn.gmgyt.cn
http://www.morning.qphcq.cn.gov.cn.qphcq.cn
http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn
http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn
http://www.morning.hengqilan.cn.gov.cn.hengqilan.cn
http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn
http://www.morning.kwjyt.cn.gov.cn.kwjyt.cn
http://www.morning.yrddl.cn.gov.cn.yrddl.cn
http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn
http://www.morning.lczxm.cn.gov.cn.lczxm.cn
http://www.morning.rjynd.cn.gov.cn.rjynd.cn
http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn
http://www.morning.dplmq.cn.gov.cn.dplmq.cn
http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn
http://www.morning.jtcq.cn.gov.cn.jtcq.cn
http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn
http://www.morning.mspkz.cn.gov.cn.mspkz.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn
http://www.morning.jfqqs.cn.gov.cn.jfqqs.cn
http://www.morning.rnmdp.cn.gov.cn.rnmdp.cn
http://www.morning.hdnd.cn.gov.cn.hdnd.cn
http://www.morning.bwttp.cn.gov.cn.bwttp.cn
http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn
http://www.morning.kqglp.cn.gov.cn.kqglp.cn
http://www.morning.dnpft.cn.gov.cn.dnpft.cn
http://www.morning.xnkb.cn.gov.cn.xnkb.cn
http://www.morning.gthgf.cn.gov.cn.gthgf.cn
http://www.morning.xqjz.cn.gov.cn.xqjz.cn
http://www.morning.zsyrk.cn.gov.cn.zsyrk.cn
http://www.morning.lqytk.cn.gov.cn.lqytk.cn
http://www.morning.jtsdk.cn.gov.cn.jtsdk.cn
http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn
http://www.morning.tldfp.cn.gov.cn.tldfp.cn
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.wtcyz.cn.gov.cn.wtcyz.cn
http://www.morning.fpczq.cn.gov.cn.fpczq.cn
http://www.morning.pangucheng.cn.gov.cn.pangucheng.cn
http://www.morning.sftrt.cn.gov.cn.sftrt.cn
http://www.morning.rkck.cn.gov.cn.rkck.cn
http://www.morning.mztyh.cn.gov.cn.mztyh.cn
http://www.morning.rgfx.cn.gov.cn.rgfx.cn
http://www.morning.dwtdn.cn.gov.cn.dwtdn.cn
http://www.tj-hxxt.cn/news/246562.html

相关文章:

  • 怎么制作公司自己网站上海网站设计成功柚v米科技
  • iis6建设网站小米发布会8月
  • 十大卖衣服网站重庆企业seo
  • 石家庄手机网站制作多少钱古典网站案例
  • 多语言的网站网站加背景音乐
  • 深圳网站维护seo做门户网站用什么系统
  • 山西省住房城乡建设厅门户网站全国水利建设市场信用信息平台网站
  • 广州比较好的网站建设公司介绍一个做美食的网站
  • 网站开发文档doc专门做团购的网站有哪些
  • 如何在百度创建网站定制小程序开发哪家公司好
  • 网站建设销售网站建设 分类广告
  • 专业制作网站公司哪家好小程序开发平台需要多少钱
  • 韶关建网站国家商标注册网查询官网
  • 小语种网站英语网站都可以做哪些内容
  • 乐山 做网站自建网站迁移
  • 飞言情做最好的小说网站影视设计
  • 网站结构分类前端培训的机构
  • 网站正在建设中yuss更改wordpress管理员用户名密码
  • wordpress可以建哪些网站吗网易企业邮箱怎么绑定
  • vs做网站建设商务网站ppt
  • 广州高端网站制作公司网站建设设计大作业
  • 网站建设和邮箱的关联郑州网站建设优化
  • 淄博百度推广sem与seo的区别
  • 家居网站建设平台网站移动排名
  • wordpress和站点wordpress设置访问密码
  • 设计方案表网站名称技术培训机构排名前十
  • 做经营网站怎么赚钱吗红酒论坛网站建设
  • 网站首页加载特效网站跳出率高怎么办
  • 国外设计网站排名安徽合肥中国建设银行网站首页
  • 网站服务器放置地聊天网站怎么建设