Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用S3作为原始数据的数据管道将如何工作?_Amazon Web Services_Amazon S3_Data Science_Etl_Data Pipeline - Fatal编程技术网

Amazon web services 使用S3作为原始数据的数据管道将如何工作?

Amazon web services 使用S3作为原始数据的数据管道将如何工作?,amazon-web-services,amazon-s3,data-science,etl,data-pipeline,Amazon Web Services,Amazon S3,Data Science,Etl,Data Pipeline,我目前正在使用AWS S3作为一个数据湖来存储原始数据,它每分钟向指定的存储桶添加大约100个项目。我知道数据管道和数据ETL概念的基本知识,但我仍然不熟悉基本知识,比如什么是ApacheSpark,或者AWS Glue是如何工作的 我愿意尝试所有的教程,自己学习,但我不知道从哪里开始。如果您能指导我从哪里开始以下任务 每当新对象添加到S3存储桶中时,转换它们并将它们存储在另一个数据存储中 如果要以大型CSV格式管理结果转换项(我猜是DynamoDB,因为它是表数据?),则将其存储在何处 这些任

我目前正在使用AWS S3作为一个数据湖来存储原始数据,它每分钟向指定的存储桶添加大约100个项目。我知道数据管道和数据ETL概念的基本知识,但我仍然不熟悉基本知识,比如什么是ApacheSpark,或者AWS Glue是如何工作的

我愿意尝试所有的教程,自己学习,但我不知道从哪里开始。如果您能指导我从哪里开始以下任务

  • 每当新对象添加到S3存储桶中时,转换它们并将它们存储在另一个数据存储中
  • 如果要以大型CSV格式管理结果转换项(我猜是DynamoDB,因为它是表数据?),则将其存储在何处
  • 这些任务的低级别解决方案和高级别解决方案将如何实现?(例如,使用火花与胶水)

  • 谢谢大家!

    这取决于用例。

    对于就地转换,您可以/应该使用AWS Lambda。对于批量转换,您可以使用Glue或EMR,两者都可以运行Spark

    存储位置/格式取决于您的访问模式,例如,在不了解访问模式的情况下将它们存储在发电机中是一个非常糟糕的想法。将它们保存在S3中,进行适当的分区,在Glue中有一个元存储并通过Athena访问它们可能会起作用。但这是非常缓慢的,不能很好地工作与100个文件/分钟,你需要更少的文件,更大的文件,“微批量”。在所有情况下,每个客户机都可以基于数据创建特定的读取模型,并根据实际应用程序访问的需要对其进行存储和索引

    你必须问自己几个问题:

    • 你对这些数据了解多少
    • 你知道会有多少收入吗
    • 您知道数据需要多快可用吗
    • 您知道如何访问数据吗
    • 是实时数据还是批量数据
    我建议您只需要开始工作/试验它,创建一个数据湖及其体系结构是一个需要数年时间的过程