GoodReads数据管道 建筑学 管道包括各种模块: ETL职位 Redshift仓库模块 分析模块 概述 使用Goodreads Python包装器从Goodreads API实时捕获数据(查看用法 )。从Goodreads API收集的数据存储在本地磁盘上,并及时移至AWS S3上的Landing Bucket。 ETL作业以火花形式编写,并按气流计划以每10分钟运行一次。 ETL流程 从API收集的数据将移至着陆区s3存储桶。 ETL作业具有s3模块,该模块将数据从着陆区复制到工作区。 数据移至工作区后,将触发火花作业,该火花作业将从工作区读取数据并进行转换。数据集已重新分区并移至“已处理区域”。 ETL作业的仓库模块从已处理区域中拾取数据并将其分段到Redshift临时表中。 使用Redshift暂存表并在Data Warehouse表上执行UPSERT操作以更新数据集。