All Projects → fulldecent → google-sheets-etl

fulldecent / google-sheets-etl

Licence: MIT license
Live import all your Google Sheets to your data warehouse

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to google-sheets-etl

beneath
Beneath is a serverless real-time data platform ⚡️
Stars: ✭ 65 (+333.33%)
Mutual labels:  etl, data-warehouse
versatile-data-kit
Versatile Data Kit (VDK) is an open source framework that enables anybody with basic SQL or Python knowledge to create their own data pipelines.
Stars: ✭ 144 (+860%)
Mutual labels:  etl, data-warehouse
DIRECT
DIRECT, the Data Integration Run-time Execution Control Tool, is a data logistics framework that can be used to monitor, log, audit and control data integration / ETL processes.
Stars: ✭ 20 (+33.33%)
Mutual labels:  etl
FlowMaster
ETL flow framework based on Yaml configs in Python
Stars: ✭ 19 (+26.67%)
Mutual labels:  etl
wikirepo
Python based Wikidata framework for easy dataframe extraction
Stars: ✭ 33 (+120%)
Mutual labels:  etl
dbt-databricks
A dbt adapter for Databricks.
Stars: ✭ 115 (+666.67%)
Mutual labels:  etl
link-move
A model-driven dynamically-configurable framework to acquire data from external sources and save it to your database.
Stars: ✭ 32 (+113.33%)
Mutual labels:  etl
hive-metastore-client
A client for connecting and running DDLs on hive metastore.
Stars: ✭ 37 (+146.67%)
Mutual labels:  etl
BETL-old
BETL. Meta data driven ETL generation using T-SQL
Stars: ✭ 17 (+13.33%)
Mutual labels:  etl
etl
[READ-ONLY] PHP - ETL (Extract Transform Load) data processing library
Stars: ✭ 279 (+1760%)
Mutual labels:  etl
iex-stocks
ETL for the IEX Stocks API
Stars: ✭ 19 (+26.67%)
Mutual labels:  etl
DataX-src
DataX 是异构数据广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
Stars: ✭ 21 (+40%)
Mutual labels:  etl
pentaho-gis-plugins
🗺 GIS plugins for Pentaho Data Integration
Stars: ✭ 42 (+180%)
Mutual labels:  etl
neo4j-jdbc
JDBC driver for Neo4j
Stars: ✭ 110 (+633.33%)
Mutual labels:  etl
history
Download and warehouse historical trading data
Stars: ✭ 28 (+86.67%)
Mutual labels:  data-warehouse
openrefine-batch
Shell script to run OpenRefine in batch mode (import, transform, export). It orchestrates OpenRefine (server) and a python client that communicates with the OpenRefine API.
Stars: ✭ 76 (+406.67%)
Mutual labels:  etl
krawler
A minimalist (geospatial) ETL
Stars: ✭ 51 (+240%)
Mutual labels:  etl
chronicle-etl
📜 A CLI toolkit for extracting and working with your digital history
Stars: ✭ 78 (+420%)
Mutual labels:  etl
dtd2mysql
MySQL / MariaDB import for DTD feeds (fares, timetable and routeing)
Stars: ✭ 25 (+66.67%)
Mutual labels:  etl
YaEtl
Yet Another ETL in PHP
Stars: ✭ 60 (+300%)
Mutual labels:  etl

PHP Composer

Google Sheets ETL

Import all your Google Sheets to your data warehouse, including periodic delta loads

Screen Shot 2019-11-07 at 15 44 33

See example.php how to use this library.

Install

Via Composer

composer install

Next, create a Google Service Account. This requires 20 steps so we made a a step-by-step illustrated guide.

Testing

composer test

Google Sheets limitations

We found several problems with using Google Sheets as a database, even though we continue to use it:

  • Cannot restrict editing the first row (headers) to certain people
    • If you try protecting the cells it will prevent everyone from using a filter which is unacceptable
    • Sometimes the page will load slowly and your collaborators will accidentally overwrite the first row, which is default-selected, and it will cause your ETL to error until fixed
  • Cannot restrict that any formatting must apply to the entire column (including new rows)
    • Inevitably, any conditional formatting you try to set up will apply to a disjoint set of cells throughout your sheet over time
  • Cannot restrict that formulas must apply to the entire column (including new rows)
    • Inevitably, over time your calculated "status" column will turn into the text literal "DONE" as people copy-paste-values to new rows
  • Cannot limit people from using formatting in cells (which comes by default when they paste into cells)
  • Cannot enforce a unique column
    • Creating a custom data validation formula is cumbersome and not reliable, plus other collaborators can defeat it
  • Cannot create a sheet-level comment to document the purpose of the whole sheet
  • Filters cannot be used, because they hide rows for everybody
    • If using another mode "filter views", which is harder to find, it will create hundreds of saved "Filter 1", "Filter 2" ... files.

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].