GeoMesa 時空數據管理
劉鈞文、梁超、俞自生
- 出版商: 人民郵電
- 出版日期: 2023-06-01
- 定價: $479
- 售價: 8.5 折 $407
- 語言: 簡體中文
- 頁數: 237
- ISBN: 7115609837
- ISBN-13: 9787115609830
-
相關分類:
地理資訊系統 Gis
立即出貨
買這商品的人也買了...
-
$790$616 -
$407Angular2開發實戰(基於TypeScript)/Web開發經典叢書
-
$588$559 -
$454精通 OpenStack, 2/e (Mastering OpenStack, 2/e)
-
$301開發者測試
-
$680$530 -
$1,010C# 高級編程, 11/e (Professional C# 7 and .NET Core 2.0)
-
$720$562 -
$560$437 -
$800$624 -
$780$616 -
$894$849 -
$1,188$1,129 -
$500Kubernetes 原生微服務開發
-
$650$507 -
$588$559 -
$750$593 -
$680$510 -
$680$530
相關主題
商品描述
這是一本專門為智慧城市開發和管理人員打造的GeoMesa學習圖書。本書的重點不僅包括宏觀的行業環境,還包括對GeoMesa內部原理的剖析,力圖幫助讀者搭建GeoMesa以及時空數據高效管理的完整知識體系和技能樹。
本書首先從GeoMesa的歷史及上手教程入手。然後,為了加強讀者對入門代碼中內容的理解,本書對GeoTools的基本概念進行介紹。接著,為了進一步引導讀者對時空數據管理建立認知,本書詳細闡述GeoMesa核心的時空索引。除了理論方面的介紹,本書還介紹GeoMesa數據寫入、數據查詢、數據統計、數據分析、數據工作流以及數據存儲方案的使用方法和原理,以及GeoMesa對分佈式計算的擴展。最後,作者針對實際操作時遇到的典型問題,給出詳細的解決方案。
作者簡介
刘钧文 哈尔滨工业大学建筑学硕士,京东科技算法研究员,中国计算机学会(CCF)会员。负责京东时空数据引擎的开发和时空数据产品的研发工作。研究兴趣包括:时空数据的管理、时空数据库、数据库优化器的原理及其实现、分布式计算以及城市计算。
梁超 人文地理与城乡规划专业,广东国地资源与环境研究院研究员,中国计算机学会(CCF会员)。擅长机器学习与GIS空间分析。研究兴趣包括:城市大数据与机器学习、时空数据挖掘以及城市计算。
俞自生 西安电子科技大学计算机本硕,中国计算机学会(CCF)会员,京东城市算法研究员,主要参与京东时空数据引擎的设计与开发,以及时空算法落地与实现等工作,研究兴趣包括:城市计算、时空数据管理与分析、分布式数据库以及复杂网络等。
目錄大綱
第 1章 GeoMesa的前世今生 1
1.1 時空數據背景 1
1.1.1 時空數據簡介 1
1.1.2 時空數據處理過程 2
1.1.3 時空數據庫的產生 3
1.2 傳統時空數據庫的瓶頸 4
1.2.1 無法支持海量數據 4
1.2.2 無法進行彈性擴展 5
1.2.3 流式數據的支持受限 5
1.2.4 改造成本較高 5
1.3 GeoMesa概述 5
1.3.1 GeoMesa橫空出世 5
1.3.2 GeoMesa設計思想 6
1.3.3 GeoMesa核心特性 8
1.4 GeoMesa生態圈 9
1.4.1 GeoMesa支持的第三方組件 9
1.4.2 使用GeoMesa的產品 10
1.5 本章小結 10
第 2章 GeoMesa上手教程 11
2.1 下載、安裝以及配置 12
2.1.1 下載和安裝 12
2.1.2 GeoMesa-HBase的配置 13
2.2 通過命令行使用GeoMesa-HBase 16
2.2.1 環境和狀態命令 16
2.2.2 數據模式相關命令 17
2.2.3 數據編輯命令 20
2.2.4 查詢導出命令 21
2.2.5 分析命令 23
2.2.6 定義SimpleFeatureType 25
2.2.7 日誌異常處理 25
2.2.8 GeoMesa Scala控制台 26
2.2.9 GeoTools 命令行工具 28
2.3 快速入門 30
2.4 通過Java API使用GeoMesa-HBase 33
2.4.1 Maven的配置與使用 33
2.4.2 Java API的使用示例 33
2.5 本章小結 35
第3章 GeoTools基本概念 36
3.1 空間矢量數據概述 36
3.1.1 矢量數據簡介 36
3.1.2 OpenGIS規範 37
3.1.3 GeoTools概述 38
3.2 DataStore 40
3.2.1 DataStore簡介 40
3.2.2 DataStore使用 40
3.3 SimpleFeatureType 41
3.3.1 SimpleFeatureType概念 42
3.3.2 SimpleFeatureType使用 43
3.4 SimpleFeature 44
3.4.1 SimpleFeature概念 44
3.4.2 SimpleFeature使用 45
3.5 GeoTools的內部邏輯 45
3.5.1 獲取DataStore實例 46
3.5.2 創建Schema 46
3.5.3 數據寫入 47
3.5.4 數據讀取 50
3.6 本章小結 51
第4章 GeoMesa的時空索引 52
4.1 時空索引概述 52
4.1.1 索引的基礎知識 53
4.1.2 傳統的空間索引 54
4.1.3 空間填充曲線 56
4.1.4 Google S2索引與Uber H3索引 64
4.2 GeoMesa的索引實現 66
4.2.1 GeoMesa中索引的類型 66
4.2.2 GeoMesa索引具體的使用方法 67
4.3 GeoMesa的索引查詢 69
4.3.1 條件分解 69
4.3.2 索引選擇 70
4.4 GeoMesa的索引配置 72
4.4.1 配置FeatureID編碼方式 72
4.4.2 配置Geometry序列化 72
4.4.3 配置列族 73
4.4.4 自定義創建索引 74
4.4.5 配置“Z”索引分片個數 74
4.4.6 配置“Z”索引時間間隔 74
4.4.7 配置“XZ”索引精度 75
4.4.8 配置ATTR索引分片個數 75
4.4.9 配置ATTR字段基數 75
4.4.10 配置索引分區 76
4.4.11 配置索引拆分策略 76
4.4.12 配置查詢攔截器 76
4.4.13 配置統計緩存 77
4.4.14 配置時間優先級 77
4.4.15 配置混合幾何類型 78
4.5 本章小結 78
第5章 數據寫入 79
5.1 數據寫入概述 79
5.1.1 數據寫入流程 79
5.1.2 使用示例 80
5.2 生成ID信息 82
5.2.1 用戶指定 82
5.2.2 隨機生成 82
5.3 獲取寫入對象 84
5.3.1 寫入表的對象 84
5.3.2 寫入分區表的對象 85
5.4 寫入存儲引擎 87
5.4.1 獲取轉換器 88
5.4.2 構建索引 89
5.4.3 數據寫入 92
5.5 更新統計信息 94
5.5.1 構造統計查詢條件 94
5.5.2 執行統計操作 97
5.6 數據組織方式 98
5.6.1 元數據管理 98
5.6.2 實體數據管理 99
5.7 本章小結 100
第6章 數據查詢 101
6.1 數據查詢概述 101
6.2 查詢準備 102
6.2.1 獲取對應的DataStore對象 102
6.2.2 獲取SimpleFeatureType信息 104
6.2.3 查詢校驗 105
6.3 查詢計劃生成 106
6.3.1 準備查詢計劃 106
6.3.2 結合索引生成查詢範圍 110
6.3.3 獲取底層表信息 114
6.3.4 構造存儲引擎查詢信息 115
6.4 執行並獲取數據 119
6.4.1 執行查詢 120
6.4.2 獲取數據 120
6.5 本章小結 122
第7章 數據統計 123
7.1 數據統計概述 123
7.2 統計功能 124
7.3 統計信息獲取方法 125
7.3.1 通過Hints來獲取統計信息 125
7.3.2 通過接口來獲取統計信息 126
7.4 執行流程 127
7.4.1 流程概述 127
7.4.2 命令解析 128
7.4.3 執行統計 129
7.4.4 統計信息的序列化和反序列化過程 130
7.5 本章小結 136
第8章 數據分析 137
8.1 空間數據分析 137
8.1.1 空間數據分析概述 137
8.1.2 GeoMesa中對空間數據分析操作 139
8.2 熱力圖分析操作 140
8.2.1 熱力圖分析概述 140
8.2.2 GeoMesa中熱力圖分析功能的使用方法 141
8.3 KNN查詢操作 143
8.3.1 KNN概述 143
8.3.2 GeoMesa中KNN查詢功能的使用方法 145
8.4 近似查詢操作 146
8.4.1 近似查詢概述 147
8.4.2 GeoMesa中近似查詢功能的使用方法 148
8.5 本章小結 149
第9章 數據工作流 150
9.1 數據工作流概述 150
9.2 NiFi概述 151
9.2.1 NiFi簡介 151
9.2.2 NiFi的特性 153
9.2.3 Processor機制 153
9.3 GeoMesa與NiFi整合 154
9.3.1 NiFi自定義數據處理器 155
9.3.2 GeoMesa擴展結構 160
9.4 GeoMesa NiFi數據處理算子 160
9.4.1 轉換器處理器 160
9.4.2 記錄處理器 161
9.4.3 Avro 處理器 162
9.4.4 記錄更新處理器 162
9.4.5 數據源處理器 163
9.4.6 轉換處理器 164
9.5 本章小結 164
第 10章 GeoMesa的數據存儲方案 165
10.1 使用HBase存儲數據 165
10.1.1 HBase概述 165
10.1.2 GeoMesaHBase DataStore簡介 166
10.2 使用Kafka存儲數據 168
10.2.1 Kafka概述 168
10.2.2 GeoMesa Kafka DataStore簡介 169
10.3 使用Redis存儲數據 172
10.3.1 Redis概述 172
10.3.2 GeoMesa Redis DataStore簡介 172
10.4 使用CQEngine存儲數據 174
10.4.1 CQEngine概述 174
10.4.2 GeoMesa CQEngine DataStore簡介 174
10.5 使用FileSystem存儲數據 176
10.5.1 FileSystem概述 176
10.5.2 GeoMesa FSDS簡介 176
10.6 使用Lambda存儲數據 181
10.6.1 Lambda概述 181
10.6.2 GeoMesa Lambda DataStore簡介 182
10.7 本章小結 184
第 11章 分佈式計算 185
11.1 Spark和Spark SQL 185
11.1.1 Spark概述 185
11.1.2 Spark SQL概述 186
11.2 GeoMesa接入Spark的方式 188
11.2.1 GeoMesa Spark整體架構 188
11.2.2 GeoMesa對RDD的擴展 189
11.2.3 GeoMesa對JTS的擴展 192
11.2.4 GeoMesa對Spark SQL空間能力的擴展 196
11.3 空間數據計算函數 207
11.3.1 空間數據構建函數 207
11.3.2 空間數據信息抽取函數 208
11.3.3 空間數據轉換函數 208
11.3.4 空間數據輸出函數 209
11.3.5 空間數據關系函數 209
11.3.6 空間數據處理函數 210
11.4 本章小結 210
第 12章 操作時遇到的若乾問題 211
12.1 GeoMesa寫入數據時出現的問題 211
12.1.1 Region繁忙的問題 211
12.1.2 數據記錄過大的問題 216
12.2 GeoMesa查詢數據時出現的問題 218
12.2.1 數據採樣的問題 219
12.2.2 數據分頁的問題 221
12.2.3 利用Spark查詢GeoMesa時,無法設置返回數據量上限的問題 225
12.2.4 查詢時數據不一致的問題 230
12.3 GeoMesa分析統計時出現的問題 233
12.4 本章小結 237
參考文獻 238