Coder Social home page Coder Social logo

chicago / sgim_results Goto Github PK

View Code? Open in Web Editor NEW
2.0 5.0 0.0 22 KB

The Sustainable Green Infrastructure Monitoring (SGIM) project uses sensors, provided by Opti, that measures water diverted into the ground. This repo contains the ETL code which updates Chicago's open data portal. It can be reused to connect Opti sensors to Socrata open data portals. Depends on the "open-data-etl-utility-kit" repo.

License: MIT License

Shell 100.00%
open-data etl opti kettle pentaho socrata

sgim_results's Introduction

Sustainable Green Infrastructure Monitoring ETL

The Sustainable Green Infrastructure Monitoring (SGIM) project uses sensors, provided by Opti, that measures water diverted into the ground. This repo contains the ETL code which uploads data from Opti's sensors to Socrata open data portals. It is a generalized program from the same code that uploads SGIM data to Chicago's open data portal.

This ETL depends on the open source "Open Data ETL Utility Kit" framework. The Utility Kit uses the open source Kettle data integration program to help automate uploads to a Socrata open data portal. This repository uses that Utility Kit and is further preconfigured to work with Opti's APIs.

Installation

This ETL requires you first install and configure the "Open Data ETL Utility Kit". Download that repository and follow the installation instructions.

ETL Installation

Place this repository in the ./open-data-etl-utility-kit/ETL/ directory. You may name the folder whatever you prefer, though you can see our recommended naming conventions.

Opti Credentials

Opti uses a token to authenticate users of their API. Obtain your token and place it in the credentials_sample.csv document and save it as credentials.csv. The ETL is pre-configured to read from the credentials.csv for authentication.

Configuring Automation

The bash script, ggws-77ih.sh, will run the ETL process. Open the bash script and see the instructions to configure the file names to match your directory.

Use a task scheduler, such as crontab to set a regular time to run the ETL. See the recommended configuration to setup a regular updating process while also logging the outcome of each update.

Windows Users

Automation is currently initiated by a Bash script, such as Cygwin to automate the process.

Structure

Below are the principal components of the repository and a brief description of their role.

  • SGIM_Results_ggws-77ih.ktr - Main file which contains the ETL. This can be opened in Kettle (Spoon) and viewed.
  • SGIM-Admin_DataStreams_Original.txt - Shows all of the streams available through Opti's ETL.
  • SGIM-Admin_DataStreams_Edited.csv - The actual streams that will be used in the ETL. The list in the repository is the sensors currently displayed on Chicago's portal.
  • ggws-77ih.sh - A bash script which runs the ETL.
  • credentials_sample.csv - A sample of how credentials should be specified, however, it is not used in the ETL. Please see instructions to configure credentials.

Other files located in the repository not listed here either indirectly support the workflow or are adminstrative in nature. Note that .gitignore includes credentials.csv (excludes it from commits). You may wish to change this setting for internal-only forks of this repository within your organization but should be cautious if you later want to contribute back to this public repository.

License

See the license file.

Contributing

Contributions such as pull requests or opening issues are welcomed. If you plan on submitting a pull request, please complete a Contributor License Agreement.

sgim_results's People

Contributors

levyj avatar tomschenkjr avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sgim_results's Issues

Create README file

  • A lengthier description of the project
  • Instructions on setting-up the ETL

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.