SpatialHadoop中空间索引系列之(四)空间格网索引实现

  有关空间格网索引原理详见前面章节讲述的内容。这里我们根据SpatialHadoop中具体的实现,来详细讲解下。格网索引是一级索引,格网的个数取决于两个参数,一个是数据集的大小,另外一个就是格网的大小。那么在SpatialHadoop当中,具体怎么实现,我们先来拜读下作者Ahmed的文章。

-----------------------------------------------------------------------------------------------------------------------------------------

     【这部分主要描述普通索引算法的实现,该算法在V-B章节用于建立格网索引。格网文件是一个简单的平衡索引,该索引根据格网去分割数据,覆盖一个格网的所有记录被存储在一个文件块内作为一个单独的分区。为了简单起见,我们假设数据均匀分布,采用均匀的网格。在数据分割阶段,当得到切分块数n之后,在一个区域内,块的边界通过创建一致的格网大小来确定⌈√n⌉ × ⌈√n⌉,同时将格网单元的大小作为块的边界,如图4(a)中所示。这样生成的块的个数可能要比n大,但是这样可以确保平均块的大小比HDFS块大小要少。当物理分割这些数据时,一条带有空间范围的记录r被复制到每一个他覆盖的格网单元中。在局部索引过程中,每一个格网单元中所有的记录将被写入到一个堆文件当中,不建立任何局部索引,因为格网索引是一级平衡索引,存储的内容不分先后。最后,全局索引阶段将所有的文件生成一个全局索引文件,该文件是一个二维表文件,记录了相对应的块。

=========================================================推荐看原文吧!!!大笑

第一步:计算数据集mbr。

第二步:计算分块数目n。

第三步:计算格网大小size。

第四步:确定n个分块的mbr。

第五步:确定空间要素所属。比较每一条空间要素,确定他们所属的块,并将同一块的空间要素写入到一个文件。

第六步:生成所有块。

第七步:生成格网文件。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php导入csv文件,php实现CSV文件导入和导出

项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能。我们先准备mysql数据表,假设项目中有一张记录学生信…

剑指offer-二叉搜索树的后序遍历序列

/*输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。*/ /** 已知条件:后序序列最后一个值为root;二叉搜索树左子树值都比root小,右子树值都…

Nessus漏洞扫描教程之安装Nessus工具

Nessus基础知识 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系…

php强制关机代码,程序员关机代码是什么?

程序员关机代码:1、定时关机,在运行中输入【at 22:00 Shutdown -s】;2、倒计时方式关机,在运行中输入【Shutdown.exe -s -t 3600】;3、自动关机,输入【shutdown -i】。程序员关机代码:1、比如你…

Java 9和应用程序性能监视的激动人心之处

通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用! 在当今的现代计算时代,软件创新的不断增强使我们更接近软件革命的时代。 也许在遥远的未来,这可能是对21世纪记忆犹新的方式。…

GPU下train 模型出现nan

When training on GPU, the error "Model diverged with loss NaN" is often caused by a sotmax thats getting a symbol larger than vocab_size 转载于:https://www.cnblogs.com/wuxiangli/p/10344259.html

php语言的四种循环控制语句,PHP循环控制语句

循环语句的作用就是在条件满足的情况下,可以执行多次相同或相似的任务,PHP中的循环语句包括for、while、do-while和foreach语句结构,下面分别介绍。for语句for语句结构一般用于执行确定循环次数的操作,其条件包括三个部分&#xf…

Kali linux安装漏洞扫描工具Nessus安装指南

引子:Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是"世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它"。尽管这个扫描程序可以免费下载得到,但是要从Tenable更新到所有最新的威胁信息,每年…

7.9 规划Varnish缓存

./varnishlog -i VCL_LOG 转载于:https://www.cnblogs.com/likevin/p/10337069.html

php详解递归,PHP递归算法详解

本篇文章主要介绍PHP递归算法详解,感兴趣的朋友参考下,希望对大家有所帮助。遇到需要设计树节点的数据库结构,以及需要读出来的树节点数据结构!大家是否会选择用数据库的查询方式来获取树结构呢?//曾经的数据库查询获取…

土城战役_避免使用FOR –反假战役

土城战役您是否想知道FOR如何影响您的代码? 他们如何限制您的设计,更重要的是如何将您的代码转换为无人为含义的多行代码? 在这篇文章中,我们将看到如何将for的简单示例(由Francesco Cirillio提供- 反if活动&#xff…

Map以自定义类做为键值

map在STL中的定义 template <class Key, class T, class Compare less<Key>, class Alloc alloc> 第一个参数Key是关键字类型 第二个参数T是值类型 第三个参数Compare是比较函数&#xff08;仿函数&#xff09; 第四个参数是内存配置对象 map内部存储机制实际是以…

“基于深度学习的目标检测跟工业机器人结合”实现过程

基于深度学习的目标检测技术在工业机器人中的应用&#xff0c;可以帮助机器人实现自动化的目标检测和识别任务。以下是基于深度学习的目标检测与工业机器人结合的一般实现过程&#xff1a; 1. 数据采集和准备&#xff1a; 首先&#xff0c;收集和准备用于训练深度学习模型的数据…

小规模流处理kata。 第2部分:RxJava 1.x / 2.x

在第1部分&#xff1a;线程池中&#xff0c;我们设计并实现了相对简单的系统&#xff0c;用于实时处理事件。 确保您已阅读上一部分&#xff0c;因为它包含一些我们将重用的类。 以防万一这是要求&#xff1a; 一个系统每秒传送约一千个事件。 每个Event至少具有两个属性&…

java 计算信度,11.5.2 评分者信度实例分析

11.5.2 评分者信度实例分析【例11.5】 某校学生举办歌唱大赛&#xff0c;请5位评委老师为最终进入决赛的6名同学评定等级&#xff0c;结果如表11-10所示&#xff0c;请计算其信度。表11-10 歌唱大赛评定等级结果学生教师A1A2A3A4A5A6A344335B434343C233253D445344E324333解&a…

JAVA 类加载 随记

视频: https://www.bilibili.com/video/av29502877 1 JVM把Class加载到内存当中&#xff0c;检验解析初始化。默认使用的懒加载方式。 以下步骤是并行执行 可以把加载源看成JAVA配置文件。 解析&#xff1a; 符号引用&#xff1a; 类名&#xff0c;基本类型 直接引用&#xff…

Linux IO实时监控iostat命令详解

简介 iostat主要用于监控系统设备的IO负载情况&#xff0c;iostat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法 iostat [ -c ] [ -d ] [ -h ] […

打破冷漠僵局文章_研究僵局–第2部分

打破冷漠僵局文章调查死锁时最重要的要求之一就是要研究死锁。 在我的上一个博客中&#xff0c;我写了一些名为DeadlockDemo代码&#xff0c;该代码使用一堆线程在一系列银行账户之间转移随机数&#xff0c;然后陷入僵局。 该博客运行该代码以演示获取线程转储的几种方法。 线…

七牛云php20m文件上传不了,七牛云存储 - 用php上传图片,我在本地测试,用php 接口,不成功...

七牛反馈显示信息说明已经成功了&#xff0c;但是在七牛空间显示的文件却不完整请问这是为什么啊&#xff1f;&#xff01;&#xff01;测试文件如下&#xff0c;本地localhost测试&#xff1a;require_once("qiniu/io.php");require_once("qiniu/rs.php")…

洛谷 P2463 [SDOI2008]Sandy的卡片 解题报告

P2463 [SDOI2008]Sandy的卡片 题意 给\(n(\le 1000)\)串&#xff0c;定义两个串相等为“长度相同&#xff0c;且一个串每个数加某个数与另一个串完全相同”&#xff0c;求所有串的最长公共子串&#xff0c;每个串长\(\le 101\)&#xff0c;值域\(\in [0,1864]\) 先差分一下&…