GithubHelp home page GithubHelp logo

divvy_databricks_azure's Introduction

Building an Azure Data Lake Solution for Bikeshare Data Analytics

Divvy is a bike sharing program in Chicago, Illinois USA that allows riders to purchase a pass at a kiosk or use a mobile application to unlock a bike at stations around the city and use the bike for a specified amount of time. The bikes can be returned to the same station or to another station. The City of Chicago makes the anonymized bike trip data publicly available for projects like this where we can analyze the data.

The goal of this project is to develop a data warehouse solution using Azure Databricks. It involved:

  • Designing a star schema based on the business outcomes expected
  • Import the data into Azure Databricks using Delta Lake to create a Bronze data store
  • Create a gold data store in Delta Lake tables
  • Transform the data into the star schema for a Gold data store

ERD

Dataset

The data contains 4 initial tables:

  • trip with 4584921 records

trip

  • station with 838 records:

station

  • payment with 1946607 records:

payment

  • rider with 75000 records:

rider

Extract and Load

The csv files for the dataset were uploaded to the databricks file system.

DBFS

The 4 files were loaded into spark dataframes and contents written into delta files. Afterwards, staging tables were created and saved to the delta lake on a new divvy schema: divvy.staging_trips, divvy.staging_payments, divvy.staging_riders,divvy.staging_stations.

Transform

Transformation was done in line with the entity relationship diagram as guiding architecture. Python notebook divvy_ELT.ipynb contains all the code.

Challenges

  1. In order to create a date dimension I adapted the resource here by Chris Koester.

divvy_databricks_azure's People

Contributors

obinnaonyema avatar

Watchers

James Cloos 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.