是否可以更新已经在s3中编写的数据?

brc7rcf0  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(358)

谢谢你调查我的问题。我很感激。
所以我是这个领域的新手。。。不过,我正在考虑用s3替换目前使用的hadoop,但在此之前,我想知道是否有可能更新已经在s3中编写的数据。
hadoop作为hdfs,你只写一次,读很多次,这不允许我更新已经写在上面的数据。我有一个rdb,我想集成到hadoop中,但失败了,因为这个rdb需要及时更新。我听说s3,你可以使用athena或者其他的中间软件,可以让我更新,这也许可以解决我之前提到的hadoop的问题。
非常感谢您通读,如果您能分享您的知识,我将不胜感激。谢谢:)

gmxoilav

gmxoilav1#

我已经通过databricks实现了delta-lake的开源版本,它支持acid事务(更新、删除、插入)在parquet文件上。这是可行的,但很难在aws胶水中设置,这是我本周不得不为poc做的。它允许您将sparkDataframe合并到现有的数据池中。

njthzxwz

njthzxwz2#

你应该看看亚马逊电子病历:
amazonemr是一个托管集群平台,它简化了在aws上运行大数据框架(如apachehadoop和apachespark)来处理和分析大量数据。通过使用这些框架和相关的开源项目,如apachehive和apachepig,您可以处理用于分析目的和商业智能工作负载的数据。此外,您可以使用amazonemr将大量数据转换和移出其他aws数据存储和数据库,如amazons3和amazondynamiodb。
它可以提供一个托管的hadoop环境,并且可以直接使用amazons3中存储的数据。
amazons3是一个对象存储服务。与本地磁盘上的文件不同,您可以在编辑器中打开该文件并更改一个字节,对amazons3中对象的任何更新都需要替换整个对象。像hadoop和amazonathena这样的系统通常通过在同一目录中添加额外的文件来附加数据,但是这种方法不容易更新或删除数据。因此,将数据复制到新表通常比较容易( CREATE TABLE AS )在进行更新时。
我见过的唯一允许更新的系统是delta lake by databricks。

相关问题