IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> hbase 读写空间数据(六)-总结 -> 正文阅读

[大数据]hbase 读写空间数据(六)-总结

陆续根据Geomesa和自身GIS空间数据库经验梳理了5篇试验代码,? 但是还没有好好思考总结下整个技术脉络,现总结如下:

Hbase特点:

1. 一个高可靠性、高性能、面向列、可伸缩的分布式存储系统 ( 可认为不是数据库 , 他的数据写到 hdfs )
2. 一个 KeyValue 存储系统 , key Value 都支持 byte 存储得列式分布式数据源 ;
3. 不支持事物 , 除非外部使用其他分布式事物组件封装 ;
4. Value 不支持索引 ;
5. 所有数据按照 key 递增存储 , 这里将 hbase 理解为一个大得多层分布式 跳表
6. 所有数据默认带时间版本信息 , 默认过期版本 3, 它并不直接删除数据
7. 支持 SQL 查询 , 有三方组件可转换 where 字句到 hbaseFilter 复合对象
8. 基本概览 Namespace( 类似 database) table( ) Rowkey ( 行键值 ) Family( 列簇 ) Qualifier( )? Value( );
开源,大厂,论文实现:

开源: GeoMesa

1. 一个开源的进行时空数据处理的 工具包 ( 基于 Scala),
2. locationtech 出品 , JTS, GeoTrellis? 同源 , 社区较活跃 ;
3. 可同时支持 HBase Spark,kudu,Arrow,bigtable,kafa,redis
4. Hbase+GeoMesa 相当于 Postgresql+POSTGIS

????????大厂: 基本上基于GeoMesa扩展自身业务;

1. 阿里 ( Hbase Ganos ) PaaS 提供 , 但是不支持 SQL ;( GeoMesa 扩展 )
2. 华为 ( CloudTable ) PaaS 提供 ( GeoMesa 扩展 )
3. JUST , ( 可能是 GeoMesa 扩展 )

论文:

大规模时空数据分布式存储 方法研究 ( 中国科学院计算技术研究所 北京 1 0 01 9 0)2014

基于Hbase的海量GIS数据分布式处理实践 (中国科学院计算技术研究所 2016

客户端查询根据范围计算出Key, 然后用Key的范围去查询或者每条Key遍历取数据

核心总结抽象为一句话: 空间数据编码及根据范围查询出对应范围的编码序列key.

不管是Geomesa系列还是论文系列都是这个逻辑,只不过一个在客户端做,一个在服务端做

抽象为代码总结为以下接口:

byte[] encode(double xmin, double ymin, double xmax, double ymax);
double [] decode(byte[] bts);
ArrayList<byte[]> QueryRange(double xmin, double ymin, double xmax, double ymax);

最后做编码总结,? 文字描述总是苍白无力, 来张图z2 和xz的编码顺序图 (注意不是编码图编码图网上一堆,这是编码后得顺序图)

另外有一个重要问题:

Z索引适合点被查询box包含,

XZ索引(面,线)很可能查询也只能满足包含查询, 而不是真正意义上的空间数据库级别的相交查询, 因为无法解决跨边界得问题, 如下图:

所以在前面尝试在空间数据表中加入了xmin, ymin,xamx,ymax 来过滤查询用4个SingleColumnValueFilter来解决, 虽然解决了问题, 但是没有大规模测试.,不敢说效率如何. base研究暂时到这里, 建议有能力的直接用geomesa

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:27:35  更:2022-03-16 22:28:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:49:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码