如何解决是否可以更新已经写入S3的数据?
感谢您调查我的问题。我很感激。
所以我是该领域的新手...但是我正在考虑用S3替换当前使用的Hadoop,但是在此之前,我想知道是否可以更新已经用S3编写的数据。
Hadoop作为HDFS,您只能写入一次,读取多次,因此不允许我更新已经写入其中的数据。我有一个RDB,我曾考虑将其集成到Hadoop中,但是由于需要及时更新此RDB而未能实现。 我听说过S3,您可以使用Athena或其他可能允许我进行UPDATE的中间件,这可能能够解决我先前在Hadoop中提到的问题。
非常感谢您通读,如果能分享您的知识,我将不胜感激。谢谢:)
解决方法
我已经实现了Databricks的Delta Lake的开源版本,该版本可以对镶木地板文件进行ACID事务(更新,删除,插入)。它可以工作,但是要在AWS Glue中进行设置非常困难,这是我本周必须为POC做的。它允许您执行诸如将spark数据框合并到现有数据湖中的操作。
,您应该查看Amazon EMR:
Amazon EMR是一个托管集群平台,可简化在AWS上运行大数据框架(例如 Apache Hadoop 和Apache Spark)以处理和分析大量数据。通过使用这些框架和相关的开源项目(例如Apache Hive和Apache Pig),您可以处理数据以用于分析目的和商业智能工作负载。此外,您可以使用Amazon EMR将大量数据转换和移入和移出其他AWS数据存储和数据库,例如 Amazon S3 和Amazon DynamoDB。
它可以提供托管的Hadoop环境,并且可以直接使用Amazon S3中存储的数据。
Amazon S3是一种对象存储服务。与可以在编辑器中打开并更改一个字节的本地磁盘上的文件不同,Amazon S3中对对象的任何更新都需要替换整个对象。像Hadoop和Amazon Athena这样的系统通常通过在同一目录中添加其他文件来追加数据,但是更新或删除数据并不容易。为此,通常在进行更新时将数据复制到新表(CREATE TABLE AS
)会更容易。
我看到的唯一允许更新的系统是Delta Lake by Databricks。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。