TLC Trip Record Data
收藏数据集概述
数据集介绍
目标
该项目旨在使用多种工具和技术分析Uber行程数据,包括Google Cloud Platform (GCP)存储、Python、Compute Engine、Mage数据管道工具、BigQuery和Looker Studio。分析旨在回答以下关键问题:
- 按行程数量排名的前10个上车地点是什么?
- 按乘客数量统计的行程数量是多少?
- 平均票价在一天中的不同时间段如何变化?
数据集详情
TLC行程记录数据
该数据集包括黄色和绿色出租车的行程记录,包含字段如上车和下车日期/时间、地点、距离、明细票价、费率类型、支付方式和司机报告的乘客数量。
使用的技术
编程语言
- Python
Google Cloud Platform组件
- Google Storage
- Compute Engine
- BigQuery
- Looker Studio
数据管道工具
- Mage
项目步骤
数据建模和实体关系图
使用Python开发转换代码
创建GCP项目和存储桶
- 将数据上传到存储桶,设置服务器并配置必要的权限。
在GCP中生成虚拟机实例
-
设置VM的命令:
sudo apt-get install update sudo apt-get install python3-distutils sudo apt-get install python3-apt sudo apt-get install wget wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py
将VM连接到Mage项目并设置依赖项
使用Mage构建数据管道
- 使用Mage块如数据加载器、转换器和导出器。将转换代码集成到数据转换器中。
配置GCP凭据
- 在
io_config.yaml配置文件中包含GCP凭据。
使用BigQuery进行数据查询和ETL操作
在Looker Studio中开发仪表板
- 构建仪表板以可视化洞察。也可以使用Power BI或Tableau等替代方案。
SQL查询和结果
前10个上车地点
SQL
SELECT pickup_location_id, count(pickup_location_id) AS Trip_Num
FROM uber_data_engineering_yt.fact_table
GROUP BY pickup_location_id
ORDER BY Trip_Num DESC
LIMIT 10;
按乘客数量统计的行程数量
SQL
SELECT passenger_count, count(passenger_count) AS passenger_trip
FROM uber_data_engineering_yt.tbl_analytics
GROUP BY passenger_count
ORDER BY passenger_trip DESC;
按小时统计的平均票价
SQL
SELECT d.pick_hour, ROUND(AVG(fare_amount), 2) AS fare
FROM uber_data_engineering_yt.fact_table f
JOIN uber_data_engineering_yt.datetime_dim d ON f.datetime_id = d.datetime_id
GROUP BY d.pick_hour
ORDER BY fare DESC;




