我正在寻找一些关于为简单的ETL工作构建架构的指导 . 我已经构建了一个解决方案,但我正在寻找改进或尝试替代架构的方法 .
这是我的用例:
-
源数据以csv格式从移动设备上传到 Cloud 存储
-
处理数据并将其转换为json格式
-
使用大数据存储解决方案进行分析
-
使用可视化解决方案显示数据
为此,我构建了一个解决方案,用户可以将csv格式的源数据上传到 Cloud 存储 . 我使用 Cloud 功能监控我的 Cloud 存储桶中的更改,并触发数据流管道对其进行批处理,并将数据(json格式)存储在bigquery中进行分析 . 最后,我使用Data Studio可视化我的bigquery表中的信息 .
这是我的工作流程:
Cloud 存储 - > Cloud 功能(触发) - > Cloud 数据流 - >大查询 - > Data Studio
我可以用什么其他替代架构来实现这一目标? Cloud Pub / Sub是批处理的选项吗?如何使用Apache Kafka进行管道处理?
1 回答
好像很好 . 我在AWS上构建了大量数据湖解决方案,其架构或多或少相似 . 我偶尔会使用
DynamoDB
来存储我稍后在Lambda
函数中使用的信息(它会动态创建管道),然后再创建像AMI Id
,Instance Types
等管道 .您可以使用
Cloud Datastore
代替DynamoDB
.