如何解决DynamoDB数据格式以使用spark
我有一个S3存储桶,其中包含使用DataPipline从DynamoDB复制的数据。因此s3中的数据采用以下格式(在s3中为单行)。
{
"file": {
"S": "file1.mp4"
},"id": {
"S": "1"
},"canvas": {
"S": "This is Canvas1"
}
}
我想将其转换为另一个应用程序所需的其他格式(我无法控制)。
预期的输出格式:
{
"file": "file1.mp4","id": "1","canvas": "This is Canvas1"
}
有没有办法做到这一点?我不能使用Lambda,因为文件数量很大。
注意:S3中的JSON将在一行中。我在这里对其进行了格式化,以便更好地查看和理解。
解决方法
您可以使用AWS Glue,而依次使用将使用spark重新格式化。
您可以看到带有胶水Relationalize Transform here的Json flattening
示例。
简而言之,使用Glue,您需要做
-
在AWS Glue中创建爬网程序之后,让其在目录(数据库)中创建架构。
-
创建一个用于转换json的Glue作业,在这里再次选择json作为您的输出文件。这将使用转换步骤,通过Rationalize类将数据弄平
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。