跳轉到主要內容
工程的博客

建立地理空間Lakehouse,第2部分

一個係統,統一的架構設計,功能團隊,不同的用例
分享這篇文章

本係列的第1部分對如何構建一個地理空間Lakehouse,我們介紹了參考體係結構和設計原則構建地理空間Lakehouse時需要考慮的。Lakehouse範式結合最好的湖泊和數據倉庫的數據元素。它可以簡化和標準化數據工程管道相同摘要企業型的設計模式。結構化、半結構化和非結構化數據管理在一個係統中,有效地消除數據孤島。

在第2部分中,我們側重於實際問題和指導來幫助你實現它們。我們提出一個例子參考實現示例代碼,讓你開始。

設計指導方針

意識到磚地理空間的好處Lakehouse進行處理,分析和可視化地理空間數據,您需要:

  1. 定義和<強>崩潰你的<強>geospatial-driven問題。什麼問題你解決了嗎?你分析建模和/或現場位置數據(例如,地圖矢量與衛星口角)聚合聚合,例如,時間序列數據(天氣、土壤信息)?你尋求見解或建模運動模式在地理位置(例如,設備ping在住宅和商業之間的興趣點的位置)或多黨之間的關係這些嗎?根據您的工作負載,每個用例需要不同的基礎地理空間過程庫和工具,查詢/模型和渲染你的見解和預測。
  2. 決定在<強>數據格式標準。磚建議三角洲湖格式基於Apache拚花開放地理空間數據格式。三角洲附帶數據跳過和z值,尤其適合地理空間索引(如geohash、六角索引),邊界框最小/最大x / y生成的列,和幾何圖形(如由塞多納,Geomesa)。這些標準的名單你最會讓你更好的理解所需的最小可行的管道。
  3. 知道和<強>範圍的<強>卷,<強>時間和用例所需:
    • 原始數據和<強>數據處理在銅層
    • 分析在金銀層
    • 建模在金層

    地理空間分析和建模性能和規模很大程度上取決於格式變換,元數據索引和裝飾。數據窗口可以適用於地理空間和其他用例,當窗口和/或跨廣泛的查詢時間比起你的工作沒有任何分析/建模價值和/或性能優勢。地理空間數據充滿了足夠的挑戰頻率,體積,格式的生命周期在整個數據管道,沒有添加非常昂貴,抽取,在這些的效率低下。

  4. 選擇從一個<強>名單的<強>建議圖書館,<強>技術和<強>工具優化了Apache火花;這些目標你的數據格式標準的定義需要解決的問題集(s)。考慮是否正在處理的數據量在每個階段和運行數據分析和建模可以放入內存。考慮什麼類型的查詢您需要運行(例如,範圍,空間加入,資訊,資訊加入,等等)和什麼類型的培訓和生產算法需要執行,磚的建議,一起了解和選擇如何最好地支持這些。
  5. 定義,<強>設計和<強>實現處理你的邏輯<強>種管道。例如,青銅為流動性和POI數據表,你可以從你的原始數據和生成幾何圖形用一階裝飾這些分區模式(如一個合適的“地區”的超集郵政編碼/區/ US-county,省/州)的子集一起二/三級分區(如六角指數)。用銀表,您可以專注於其他訂單的分區,應用z值,並與三角洲進一步優化優化+真空。黃金,你可以考慮數據合並,窗口(在適用情況下,在短,連續的時間),和LOB進一步細分與三角洲優化特定於這些嚴格的數據集。你也可能會發現你需要進一步的後處理層業務線(LOB)用戶或數據科學/毫升。每一層,<強>驗證這些優化和理解他們的適用性。
  6. 利用磚<強>SQL分析你的你的地理空間Lakehouse表層消費。
  7. 定義的<強>編製駕駛你的管道<強>冪等性在心裏的。從一個簡單的筆記本,筆記本開始實現你的原始數據攝入,青銅= >銀= >金層處理,以及任何需要後處理。確保任何組件的管道可以冪等執行和調試。從隻有必要的精心製作。你的編配融入你管理和監視和CI / CD生態係統盡可能簡單,最低限度。
  8. 應用分布式編程<強>可觀察性範式——火花UI, MLflow實驗,火花和MLflow日誌、指標、甚至更多的日誌——故障診斷問題。如果你有正確應用前一步,這是一個簡單的過程。沒有“簡單按鈕”神奇地在分布式處理解決問題你需要良好的老式的分布式軟件調試,<強>閱讀日誌,使用其他<強>可觀測性工具。磚提供自學和教師指導培訓指導你如果需要。
    從這裏,配置您的端到端數據和ML管道監控這些日誌,指標和其他可觀察性數據和反映和報告。有更多關於這些主題中可用的深度磚機器學習的博客隨著漂流:測試毫升模型在生產AutoML工具箱——深潛水從2021年的數據+人工智能峰會。

實現注意事項

數據管道

地理空間Lakehouse,銅層,我們建議著陸原始數據在他們的“原始忠誠”格式,最可行的格式,然後標準化數據清洗然後裝修數據最好利用三角洲湖的數據跳過和壓實優化功能。在銀層,然後逐步過程管道負載和加入高基數的數據,多維集群和+網格索引,裝修支持高性能的數據進一步與相關元數據查詢和有效的數據管理。這些是有效的準備表/視圖可查詢地理空間數據標準,同意分類。對於黃金,我們提供分段、高度提煉的數據集,數據科學家開發和訓練他們的模型和數據分析師收集他們的見解,這是專門為優化他們的用例。這些表將LOB數據科學目的構建解決方案的特定數據和分析。

把這個一起為你的磚地理空間Lakehouse:從原始進展,容易運輸高度優化的格式,易於管理,多維集群和索引,最容易為最終用戶可查詢和訪問的格式。

查詢

鑒於多數地理空間數據的業務問題可以回答,這是很重要的一個方麵,你選擇最好的技術和工具為您的需求和用例。最好通知這些選擇,你必須評估地理空間的類型你計劃來執行查詢。

的<強>主要地理空間查詢類型包括:

  • 範圍搜索查詢
  • 空間聯結查詢
  • 空間k-nearest-neighbor查詢(資訊查詢)
  • 空間k-nearest-neighbor連接查詢(kNN-join查詢)
  • Spatio-textual操作

庫如GeoSpark /塞多納支持範圍搜索,空間聯結和資訊查詢(udf)的幫助下,雖然GeoMesa(火花)和LocationSpark支持範圍搜索,空間聯結、資訊和kNN-join查詢。

分區

它是一種行之有效的模式,數據首先查詢粗來確定更廣泛的趨勢。這是緊隨其後的是細粒度的方式查詢,以隔離從數據熱點到機器學習模型的特性。

此模式應用到時空數據,比如由地理信息係統(GIS),提出了諸多挑戰。首先,數據量使其限製性指數大致分類數據高分辨率(參見下一節的更多細節)。其次,地理空間數據蔑視均勻分布無論其自然地理位置集中在功能分析,是否這些相關的興趣點(集中在密集的大城市),流動性(類似的人流量聚集,或集中在每個交通運輸渠道模式),土壤特性(集中在特定的生態區域),等等。第三,某些地區是由多個時區劃分(如巴西、加拿大、俄羅斯和美國),和其他(如中國、歐洲大陸和印度)。

很難避免數據傾斜由於缺乏均勻分布,除非利用特定的技術。分區數據,減少數據量的標準差跨分區可以確保這些數據可以加工水平。<強>我們建議首先<強>網格索引(在我們的用例,<強>geohash)原始時空數據的基礎上<強>緯度和經度坐標,這<強>組索引基於數據密度而不是邏輯地理定義;然後根據最低的分區數據分組反映最均勻分布數據的形狀作為一個有效的數據定義<強>地區,同時還裝修這個數據與邏輯地理定義。這些地區是由其中所包含的數據點的數量,從而可以表示從大型、人煙稀少的小農村,在城市人口密集地區,因此作為分區方案更好更均勻分布數據,避免數據傾斜。

同時,磚正在開發一個圖書館,被稱為馬賽克,這種方法標準化;看到我們的博客有效點在多邊形通過PySpark和BNG地理空間索引,其中介紹了我們采用的方法。的擴展Apache火花框架,馬賽克允許容易和快速處理大量地理空間數據集,其中包括建立索引應用上述模式的性能和可伸縮性。

地理位置的忠誠:

一般來說,<強>地理位置保真度越大(決議)用於索引地理空間數據集,更多<強>唯一索引值將生成的。因此,數據量本身處方可以顯著增加數量級。例如,增加分辨率富達從24000英尺2到3500英尺2增加的數量可能獨一無二的指數從2400億年到1.6萬億年;從3500年英國《金融時報》2到475英尺2增加的數量可能獨特的指數從1.6萬億年到11.6萬億年。

我們應該退一步,問題的必要性和價值高分辨率,作為他們的實際應用很有限的高度專業化的用例。例如,考慮<強>POIs;平均這些範圍從1500 - 4000英尺2可以充分捕捉和分析水平遠低於最高的分辨率;分析交通在更高的分辨率(占地400英尺260英尺2或10英尺2)隻會需要更多的清理(如合並、彙總)的流量和取冪捕獲的惟一索引值。移動+ POI數據分析,你會<強>很可能不需要決議之外<強>3500英尺2

另一個例子,考慮<強>農業分析,相對較小的地塊人口配備傳感器來確定和理解細粒土壤和氣候特征。在這裏,<強>邏輯放大讓用例<強>應用高分辨率索引,因為每一個點<強>意義將<強>統一的。

如果一個有效用例要求地理位置保真度高,<強>我們建議隻應用高分辨率數據過濾通過特定的子集,更高級別的分類,比如定義的數據分區均勻的區域(就像在前一節中討論)。例如,如果你找到一個特定的POI是熱點為您的特定功能在一個3500英尺的分辨率2,也許是有意義增加分辨率POI數據子集到400英尺2同樣類似的熱點在一個可控的地理位置分類,同時保持一個更好的決議和粗的關係在個案基礎上,同時廣泛的分區數據的區域我們先前討論的概念。

地理空間庫體係結構和優化:

地理空間庫都有不同的設計和實現上運行火花。這些因素很大程度上的基地的性能、可伸縮性和優化你的地理空間解決方案。

商品化的雲基礎設施,如亞馬遜網絡服務(AWS),微軟Azure雲(Azure),和穀歌的雲平台(GCP),地理空間框架可能是旨在利用集群擴展內存,計算,或IO。Beplay体育安卓版本Apache塞多納庫如GeoSpark /旨在支持集群<強>內存;天真地使用它們,您可能會遇到內存受限的行為。這些技術可能需要數據重新分區,並造成大量的數據發送到司機,導致性能和穩定性問題。運行查詢使用這些類型的圖書館更適合實驗目的在較小的數據集(例如,低質量的版本數據)。庫等Geomesa旨在支持集群<強>IO在持久性使用多層次的指標(例如,三角洲湖)有效地回答地理空間查詢,以及適應引發大規模架構,允許大規模的高保真處理數據。Python庫科幻R或GeoPandas等一係列的查詢優化操作在單個機器上,甚至更好的用於小規模的實驗與低質量的版本數據。

同時,磚是積極發展圖書館,這種方法被稱為馬賽克,標準化。火花的擴展框架,馬賽克提供本地集成方便和快速的處理非常大的地理空間數據集。它包括內置geo-indexing高性能查詢和可伸縮性和封裝的數據工程需要從公共數據編碼生成幾何圖形,包括well-known-text well-known-binary, JTS拓撲套件(JTS)格式。

看到我們的博客有效點在多邊形通過PySpark和BNG地理空間索引更多的方法。

呈現:

你打算什麼數據渲染以及你的目標是使他們將推動圖書館/技術的選擇。我們必須考慮如何渲染庫適合分布式處理,大型數據集;和輸入格式(GeoJSON, H3, shapefile WKT),交互水平(從沒有到高),和動畫方法(幀轉換為mp4,本地生活動畫)他們的支持。Geovisualization庫等<強>kepler.gl,<強>情節和<強>deck.gl非常適合快速有效地呈現大型數據集,同時提供一個高程度的交互作用,原生的動畫功能,易於嵌入。庫等<強>葉形可以用更有限的交互性呈現大型數據集。

語言和平台的靈活性:Beplay体育安卓版本

你的數據科學和機器學習團隊可能編寫代碼主要是在Python中,R, Scala或SQL;或用另一種語言。在選擇圖書館和技術用於實現地理空間Lakehouse,我們需要考慮我們的用戶的核心語言和平台的能力。Beplay体育安卓版本庫如Geospark / Apache塞多納和Geomesa支持<強>PySpark,<強>Scala和<強>SQLScala,而其他如Geotrellis支持;有身體的<強>R和<強>Python包建立在C<強>地理空間數據抽象庫(GDAL)。

使用移動和興趣點數據示例實現

體係結構

第1部分中介紹,這個地理空間的一般架構Lakehouse示例如下:

磚地理空間Lakehouse例子參考體係結構
圖1

這個建築設計模式應用到我們的前一個示例用例,我們將實現一個參考管道攝取兩個示例地理空間數據集,興趣點(Safegraph)和移動設備ping (Veraset),進入我們的磚地理Lakehouse。我們主要關注三個關鍵階段——銅,銀,金。

一個磚地理空間Lakehouse詳細設計在我們的例子中ping + POI地理空間用例
圖2

按上述方法、體係結構和設計原則,我們使用Python, Scala和SQL示例代碼。

接下來我們走過的每一個階段的架構。

攝入:原始數據

我們開始通過加載原始地理空間數據的樣本興趣點(POI)數據。POI數據可以在任意數量的格式。在我們的用例,CSV。

raw_df=spark.read.format . schema(模式)\ (csv).option(“分隔符”,",")\.option(“引用”,\“\”).option (“逃避"," \ \ " ").option(“頭”,“真正的”)\.load (“dbfs: /毫升/博客/地理/ safegraph /生/ core_poi-geometry / 2021/09/03/22 / *”)
              顯示器(raw_df)

銅表:非結構化,proto-optimized半原始的數據

青銅的表,我們將原始數據轉換成<強>幾何圖形然後清潔幾何數據。我們的示例用例包括ping(分析GPS,座電話塔設備ping)原始數據被geohash索引值。然後應用udf將wkt成幾何圖形,和索引geohash“地區”。

@pandas_udf (“字符串”)defpoly_to_H3(wkt: pd.Series)- > pd.Series:多邊形= geopandas.GeoSeries.from_wkt(預留)指數= h3。polyfill (geo_json_geom決議,真正的)h3_list =列表(指標)返回pd.Series (h3_list)@pandas_udf (“浮”)defpoly_area(wkt: pd.Series)- > pd.Series:多邊形= geopandas.GeoSeries.from_wkt(預留)返回polys.arearaw_df.write。格式(“δ”).mode (“覆蓋”).saveAsTable (“geospatial_lakehouse_blog_db.raw_safegraph_poi”)h3_df = spark.table (“geospatial_lakehouse_blog_db.raw_graph_poi”)\.select (“placekey”,“safegraph_place_id”,“parent_placekey”,“parent_safegraph_place_id”,“location_name”,“品牌”,“人肉搜索”,“經”,“street_address”,“城市”,“地區”,“postal_code”,“polygon_wkt”)\過濾器(坳(“polygon_wkt”).isNotNull () \.withColumn (“區域”,poly_area(坳(“polygon_wkt”)))\過濾器(坳(“區域”)
              < h3 >銀表:優化、結構和固定模式數據< / h3 >銀表,我們建議逐步處理管道負載加入高聚合度的數據,索引裝修進一步支持高性能查詢的數據。在我們的示例中,我們使用< em > <強> ping < /強> < / em >上麵的青銅表中,然後聚合改變了這些<強> < em >興趣點(POI)數據< / em > < /強><強>十六進製索引< /強>使用H3查詢這些數據集編寫使用三角洲湖銀表。這些表被分區按地區、郵政編碼H3 z值的指數。我們也處理美國人口普查區域集團(cbre)數據獲取美國人口普查局資料、大地水準麵代碼聚合索引使用Geomesa生成幾何變換這些代碼,然後十六進製索引這些聚合物/轉換使用H3查詢寫額外的使用三角洲湖銀表。這些被分區z值與上麵的類似。這些銀表支持快速查詢等進行了優化作為“找到所有設備ping給定的POI的位置在一個特定的時間窗口,““合並頻繁ping相同的設備+ POI成一個單一的記錄,在一個時間窗口。”
              <前>#白銀和黃金H3索引查詢% pythongold_h3_indexed_ad_ids_df = spark.sql (”“”選擇ad_id、geo_hash_region geo_hash、h3_index utc_date_time從silver_tables.silver_h3_indexedORDER BY geo_hash_region”“”)gold_h3_indexed_ad_ids_df.createOrReplaceTempView (“gold_h3_indexed_ad_ids”)gold_h3_lag_df = spark.sql (”“”選擇ad_id、geo_hash h3_index、utc_date_time row_number ()(由ad_id分區ORDER BY utc_date_time asc) rn,滯後(geo_hash, 1) / (ad_id分區ORDER BY utc_date_time prev_geo_hash asc)從goldh3_indexed_ad_ids”“”)gold_h3_lag_df.createOrReplaceTempView (“gold_h3_lag”)gold_h3_coalesced_df = spark.sql (”“”選擇ad_id、geo_hash h3_index, utc_date_time ts, rn,合並(prev_geo_hash geo_hash)從gold_h3_lag prev_geo_hash”“”)gold_h3_coalesced_df.createOrReplaceTempView (“gold_h3_coalesced”)gold_h3_cleansed_poi_df = spark.sql (”“”選擇ad_id、geo_hash h3_index, ts,和其他(這樣當geo_hash = prev_geo_hash那麼0 1)/ (ORDER BY ad_id rn) gold_h3_coalesced group_id”“”)#寫出來到一塊表gold_h3_cleansed_poi_df.write。格式(“δ”).partitionBy (“group_id”).save (“/ dbfs /毫升/博客/地理/δ/ gold_tables / gold_h3_cleansed_poi”)

黃金表:高度優化的,結構化數據與演進模式

對於黃金的表,相應的用例,我們有效地)從銀表子查詢,並進一步結合頻繁ping產生下一個層次的優化b)從銀表合並ping和窗口裝飾,這些與良好定義的時間間隔c)聚合cbre銀表和變換造型/查詢cbre / ACS統計資料在美國。結果黃金表因此精煉的業務查詢執行每天一起為機器學習提供最新的訓練數據。

# KeplerGL呈現銀/金H3查詢lat =40.7831液化天然氣= -73.9712分辨率=6parent_h3 = h3。geo_to_h3 (lat、液化天然氣、分辨率)res11 =[行(x)x列表(h3.h3_to_children (parent_h311)))
              模式= StructType ([StructField (“hex_id”、StringType ()真正的)])
              自衛隊=火花。createDataFrame (data = res11模式=)@udfdefgetLat(h3_id):返回h3.h3_to_geo (h3_id) [0]@udfdefgetLong(h3_id):返回h3.h3_to_geo (h3_id) [1]@udfdefgetParent(h3_id, parent_res):返回h3。h3_to_parent (h3_id parent_res)
              #注意,家長和孩子六角指數往往不是這樣#完美對齊;因此這不是詳盡的,#,而隻展示一個類型的業務問題#一個地理空間Lakehouse可以很容易解決pdf = (sdf.withColumn (“h3_res10”getParent (“hex_id”點燃(10))).withColumn (“h3_res9”getParent (“hex_id”點燃(9))).withColumn (“h3_res8”getParent (“hex_id”點燃(8))).withColumn (“h3_res7”getParent (“hex_id”點燃(7))).withColumnRenamed (“hex_id”,“h3_res11”).toPandas ())example_1_html = create_kepler_html (data = {“hex_data”:配置= map_config pdf},身高=600年)displayHTML (example_1_html)

結果

對於一個實際的例子,我們應用用例攝取,聚合和轉換流動形式的地理定位數據ping(提供者包括Veraset Tamoco Irys inmarket,事實)興趣點(POI)數據(提供者包括Safegraph、AirSage、事實、Cuebiq Predicio)和美國人口普查局集團(cbre)和美國社區調查(ACS),模型POI特性與交通、人口和住宅。

銅表:非結構化,proto-optimized半原始的數據

我們發現曆史的甜蜜點加載和處理,原始移動數據(通常是在1-10TB)是最好的大型集群上執行(例如,專用192 -核心集群或更大)在短時間內(例如,8小時或更少)。集群共享其他工作負載是不明智的加載青銅表是一種最在任何地理空間Lakehouse資源密集型業務。一個可以減少DBU支出6 x倍致力於大型集群這一階段。當然,結果會有所不同根據數據被加載並處理。

銀表:優化、結構化和固定模式的數據

雖然H3索引和查詢執行和尺度遠比non-approximated多邊形點查詢,通常容易使用十六進製索引決議在某種程度上它將會阻止任何利益。移動數據,作為我們的示例中使用的用例,我們發現我們的“80/20”H3決議是有效的11和12“放大”最好的粒度的活動。H3決議11平均捕獲六邊形麵積<強>2150米2/ 3306英尺2;12平均捕獲六邊形麵積<強>307米2/ 3305英尺2。關於POIs供參考,星巴克咖啡館平均麵積<強>186米2/ 20002;平均Dunkin ' Donuts麵積<強>242米2/ 2600英尺2;麵積和平均瓦瓦位置<強>372米2/ 4000英尺2。H3決議11捕獲2370億獨特的指標;12捕獲1.6萬億獨特的指標。我們的研究結果表明,H3索引數據爆炸和數據保真度之間的平衡是最好的發現決議11和12。

提高分辨率的水平,說13或14(平均六角地區44米2/ 472英尺2和6.32/ 68英尺2),發現H3的求冪指數(分別為11萬億和81萬億)和合成的存儲負擔+性能下降的好處遠遠超過這一水平的忠誠。

從經驗中,采取這種方法導致總銀表容量在100萬億條記錄的範圍,2 - 3 TB的磁盤的足跡。

黃金表:高度優化的,結構化數據與演進模式

在我們的示例用例,我們發現ping數據綁定(空間)內POI幾何圖形有點吵鬧,與有效冗餘或附加在某些在特定時間間隔POIs ping。刪除數據傾斜這些介紹,我們聚集在狹窄的時間窗口在同一POI ping,高分辨率幾何圖形來減少噪音,裝飾與額外的分區數據集的計劃,從而進一步處理這些數據集的頻繁查詢和EDA。這種方法減少了黃金所需容量表10 - 100 x,這取決於具體情況。也許需要一個多元化的黃金表來支持您的業務查詢,EDA或ML訓練,這將大大減少這些下遊活動的處理時間和大於增量存儲成本。

可視化,我們呈現特定的分析和建模從選擇黃金表的查詢最好反映特定見解和/或特性,使用<強>kepler.gl

開普勒。gl,我們可以快速呈現數百萬到數十億分和執行空間聚合,可視化這些不同層次與高度的交互性。

可以呈現多個決議的數據還原的方式——執行廣泛的查詢,如在同一地區,在一個較低的分辨率。

下麵是一些例子的效果圖與kepler.gl不同層:

這裏我們使用一組坐標的紐約中央公園西(奧爾登)生產六角指數決議6。我們可以找到所有的孩子這個六邊形與一個相當精細的分辨率,在這種情況下,分辨率11:

(開普勒。gl呈現H3索引數據分辨率解決6覆蓋11個孩子集中在奧爾登在紐約中央公園
圖3

接下來,我們查詢POI數據20005年華盛頓特區的郵政編碼來演示多邊形之間的關係和H3指數;這裏我們一起捕捉各種POIs的多邊形對應的十六進製指數計算在解決13。支持數據點包括屬性,如名稱和位置街道地址:

多邊形與相應的POI H3指數華盛頓郵政編碼20005
圖4

放大在國家肖像畫廊的位置在華盛頓特區,與我們相關的多邊形,和重疊的六邊形決議11、12和13 B, C;這說明如何從個人突破多邊形十六進製指標約束的總量數據用於呈現地圖。

放大國家肖像畫廊在華盛頓特區,在決議11顯示重疊的六邊形,12、13所示
圖5

你可以探索和驗證點,多邊形,和六邊形網格地圖上的磚的筆記本,並創建地圖與這些同樣有用。

技術

對於我們的示例用例中,我們使用GeoPandas, Geomesa、H3和KeplerGL生產我們的結果。一般來說,您希望使用的組合GeoPandas, Geospark / Apache塞多納或Geomesa,連同H3 +開普勒。gl、陰謀、葉形;柵格數據,Geotrellis + Rasterframes。

下麵我們提供地理空間技術結合火花的列表供您參考:

  • 攝入
    • GeoPandas
      • 簡單,易於使用的格式和健壯的攝入ESRI ArcSDE, PostGIS, shapefile wkb / wkt
      • 可以通過“手動”分區規模在火花源數據文件和運行更多的工人嗎
    • GeoSpark / Apache塞多納
      • GeoSpark是原始火花2庫;塞多納(孵化的Apache基金會在撰寫本文時),火花3修訂
      • GeoSpark攝入很簡單,良好的文檔記錄,像宣傳的工作
      • 塞多納攝入在製品的數量,需要更多的真實世界的例子和文檔
    • GeoMesa
      • 火花2 & 3
      • GeoMesa攝入是廣義的用例除了火花,因此需要一個更全麵理解其架構之前申請的火花。能夠很好的證明,像宣傳的工作。
    • 磚是紙箱的空間擴展
      • 火花3
      • 提供進口優化和工具為磚常見空間編碼,包括geoJSON shapefile KML, CSV, GeoPackages
      • Scala API
    • 磚鑲嵌(發布)
      • 火花3
      • 這個項目目前正在發展。其攝取能力的更多細節將在釋放。
      • 簡單常見的空間編碼之間的轉換
      • Python, Scala和SQL api
  • 幾何處理
    • GeoSpark / Apache塞多納
      • GeoSpark是原始火花2庫;塞多納(孵化的Apache基金會在撰寫本文時),火花3修訂
      • 與攝入,GeoSpark記錄和健壯
      • 與在
      • 抽樣和Dataframes
      • 雙層的空間索引
      • 範圍內連接、空間連接資訊查詢
      • Python, Scala和SQL api
    • GeoMesa
      • 火花2 & 3
      • 抽樣和Dataframes
      • 三電平通過全球網格空間索引
      • 範圍連接、空間連接資訊查詢、資訊連接
      • Python, Scala和SQL api
    • 磚是紙箱的空間擴展
      • 火花3
      • 提供了udf,杠杆Geomesa的SparkSQL在磚集群的地理空間能力
      • Scala API
    • 磚鑲嵌(發布)
      • 火花3
      • 這個項目目前正在發展。更多細節在其幾何處理能力可以在釋放。
      • 優化執行點包容連接與陸地測量部聯合
      • Python, Scala和SQL api
  • 柵格地圖處理
    • Geotrellis
      • 火花2 & 3
      • 抽樣
      • 剪切、扭曲、地圖代數
      • Scala api
    • Rasterframes
      • 火花2,活躍的火花3分支
      • Dataframes
      • 地圖代數、屏蔽、瓷磚聚合、時間序列、光柵連接
      • Python, Scala和SQL api
  • /六角網格索引和查詢
    • H3
      • 兼容火花2、3
      • C核心
      • Scala / Java、Python api(連同JavaScript綁定,R,生鏽,Erlang和許多其他語言)
      • 半徑資訊查詢,查詢
    • 磚鑲嵌(發布)
      • 火花3
      • 這個項目目前正在發展。更多細節在其索引功能可以在釋放。
  • 可視化

我們將繼續添加到這個列表和技術發展。

可下載的筆記本

供您參考,您可以下載下麵的例子筆記本(s)

  1. 生銅加工的幾何圖形:ping的筆記本用的例子簡單的ETL數據逐步從原始鋪銅表添加新列包括H3索引,以及如何使用Scala udf在Python中,然後運行增量荷載從青銅銀表和索引使用H3這些
  2. 銀和geohash處理的數據集:筆記本顯示示例查詢,可以運行的銀表,和什麼樣的見解可以在這一層來實現
  3. 銀,金加工:筆記本顯示示例查詢,可以跑銀表生產有用的黃金表、行可以搜集商業情報
  4. KeplerGL呈現:筆記本顯示示例查詢,可以運行的黃金表和演示了使用KeplerGL庫來呈現這些查詢。請注意,這是稍微不同的從開普勒文檔中使用Juypter筆記本作為例子

總結

磚地理空間Lakehouse可以提供一個最佳的體驗地理空間數據和工作負載,提供你以下優點:領域驅動設計;三角洲湖的力量,磚SQL和協作筆記本;beplay娱乐ios數據格式標準化;為優化分布式處理技術集成與Apache火花,大規模的加工;強大,高性能geovisualization圖書館——提供豐富而靈活的平台體驗時空分析和機器學習。Beplay体育安卓版本不存在放之四海而皆準的解決方案,而是一個架構和平台使您的團隊能夠自定義和模型根據你的要求和你的問題集,磚的要求地理空間Lakehouse同樣支Beplay体育安卓版本持靜態和動態數據集,使無縫時空統一和cross-querying表格和基於柵格的數據,和目標非常大的數據集從100年代的數百萬數萬億的行。一起擔保我們分享這篇文章中,我們提供了實用的方法與實際的例子最具挑戰性和不同的時空分析和模型。你可以探索和可視化地理空間數據的全部財富很容易,沒有在磚SQL和筆記本的鬥爭和不必要的複雜性。

下一個步驟

開始提到的筆記本,開始你的旅程高可用性,高性能、可伸縮的和有意義的地理空間分析,今天數據科學和機器學習,聯係我們,了解更多關於我們如何幫助客戶提供地理空間用例。beplay体育app下载地址

上麵的筆記本電腦不能運行在您的環境中。你將需要訪問地理空間數據如山芋和移動數據集與這些筆記本電腦了。從Veraset訪問現場ready-to-query數據訂閱和Safegraph無縫地通過磚三角洲的分享。請聯係(電子郵件保護)如果你想獲得這些數據。

免費試著磚

相關的帖子

看到所有工程的博客的帖子
Baidu
map