/Youtube-Analysis-AWS

This project aims to securely manage, streamline, and perform analysis on the structured and semi-structured YouTube videos data based on the video categories and the trending metrics. Brief : Data -> Multiple buckets s3 Aws -> Data Preprocessing ETL (Lambda Function with s3 trigger) -> ETL to join -> Analysis Bucket -> QuickSight Data Analysis AWS

Primary LanguagePython

Data Engineering YouTube Analysis Project

This project aims to securely manage, streamline, and perform analysis on the structured and semi-structured YouTube videos data based on the video categories and the trending metrics.

Overview

This project aims to securely manage, streamline, and perform analysis on the structured and semi-structured YouTube videos data based on the video categories and the trending metrics.

Project Goals

  1. Data Ingestion — Build a mechanism to ingest data from different sources
  2. ETL System — We are getting data in raw format, transforming this data into the proper format
  3. Data lake — We will be getting data from multiple sources so we need centralized repo to store them
  4. Scalability — As the size of our data increases, we need to make sure our system scales with it
  5. Cloud — We can’t process vast amounts of data on our local computer so we need to use the cloud, in this case, we will use AWS
  6. Reporting — Build a dashboard to get answers to the question we asked earlier

Services we will be using

  1. Amazon S3: Amazon S3 is an object storage service that provides manufacturing scalability, data availability, security, and performance.
  2. AWS IAM: This is nothing but identity and access management which enables us to manage access to AWS services and resources securely.
  3. QuickSight: Amazon QuickSight is a scalable, serverless, embeddable, machine learning-powered business intelligence (BI) service built for the cloud.
  4. AWS Glue: A serverless data integration service that makes it easy to discover, prepare, and combine data for analytics, machine learning, and application development.
  5. AWS Lambda: Lambda is a computing service that allows programmers to run code without creating or managing servers.
  6. AWS Athena: Athena is an interactive query service for S3 in which there is no need to load data it stays in S3.

Dataset Used

This Kaggle dataset contains statistics (CSV files) on daily popular YouTube videos over the course of many months. There are up to 200 trending videos published every day for many locations. The data for each region is in its own file. The video title, channel title, publication time, tags, views, likes and dislikes, description, and comment count are among the items included in the data. A category_id field, which differs by area, is also included in the JSON file linked to the region.

Architecture Diagram

Architecture Diagram

Screenshots

All Crawlers

All Crawlers

All Jobs in Glue

All Jobs in Glue

Cleaned Buckets Data Sources JoinTransform Analysis Bucket

Cleaned Buckets Data Sources JoinTransform Analysis Bucket

Dashboard Snippet 1

Dashboard Snippet 1

Dislikes Heat Map

Dislikes Heat Map

Donut Chart Dislikes

Donut Chart Dislikes

Horizontal Bar Graph

Horizontal Bar Graph

Job Runs Activity

Job Runs Activity

Lambda function Layers Triggers

Lambda function Layers Triggers

Lambda function pyspark code

Lambda function pyspark code

Likes Views Horizontal Bar Graph

Likes Views Horizontal Bar Graph

Vertical Bar Graph

Vertical Bar Graph

S3 All Buckets

S3 All Buckets

Additional Resources