Giter Club home page Giter Club logo

geolake's Introduction

GeoLake

GeoLake aims at bringing geospatial support to lakehouses.

geolake-overview

Note: We develop GeoLake atop Apache Iceberg, preserving the committed history of Apache Iceberg in the process. This retention explains the extensive contributor list on our project. Maintaining the commit history facilitates easy tracking of the changes within the Apache Iceberg project, enabling us to rebase our code to the latest version of Iceberg and ensure compatibility with its new releases.

GeoLake Architecture

GeoLake can be used to build a lakehouse with geospatial support. It is built on top of Apache Spark and Apache Iceberg.

  • GeoLake Parquet: A extension to Apache Parquet to support geospatial data types.
  • Spatial Partition: A spatial partitioning scheme for Apache Iceberg.
  • Geometry Type: A geometry type for Apache Iceberg.
  • Spark & Sedona: Integrate with Apache Spark and Apache Sedona seamlessly.

Spark SQL Examples

-- Create table with a geometry type, as well as a spatial partition
CREATE TABLE iceberg.geom_table(
    id int,
    geom geometry
) USING ICEBERG PARTITIONED BY (xz2(geo, 7));

-- insert geometry values using WKT
INSERT INTO iceberg.geom_table VALUES
(1, 'POINT(1 2)'),
(2, 'LINESTRING(1 2, 3 4)'),
(3, 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))');

-- query with spatial predicates
SELECT * FROM iceberg.geom_table
WHERE ST_Contains(geom, ST_Point(0.5, 0.5));

Quickstart

Check this repo docker-spark-geolake for early access, there are some notebooks inside.

geolake's People

Contributors

ajantha-bhat avatar amogh-jahagirdar avatar aokolnychyi avatar bryanck avatar chenjunjiedada avatar danielcweeks avatar dependabot[bot] avatar felixyyu avatar findepi avatar flyrain avatar fokko avatar hililiwei avatar jackye1995 avatar jun-he avatar kbendick avatar marton-bod avatar nastra avatar openinx avatar rajarshisarkar avatar rdblue avatar rdsr avatar russellspitzer avatar samredai avatar shardulm94 avatar singhpk234 avatar snazy avatar stevenzwu avatar szehon-ho avatar wypoon avatar yyanyy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.