gpt4 book ai didi

java - 使用 AWS EMR 将 JSON 字符串转换为 Parquet 格式

转载 作者:行者123 更新时间:2023-12-02 00:54:13 27 4
gpt4 key购买 nike

我有从服务获取的 JSON 字符串。我需要将该数据转换为 Parquet 格式。我有 JSON 字符串的 Spark 架构,但我不知道从哪里开始,因为这是我第一次处理 AWS EMR 和一般大数据:

  • 我可以从我的服务将作业提交到 EMR Spark 集群,还是必须使用使用脚本创建的 JAR 文件创建一个步骤,以便在将 JSON 文件上传到 S3 后进行转换?

  • 我应该使用 AWS SDK 在我的服务中创建 EMR 集群,还是先通过控制台创建 EMR 集群?我尝试使用默认设置从控制台创建 EMR 集群,但集群在创建后立即终止,并显示消息“已由用户终止”。没有任何 cloudwatch 日志可以理解集群自行终止的原因。我查看了有关此问题的其他问题,并确保未启用自动终止。

  • 我应该将所有 JSON 聚合到一个文件中并将该文件提交到 Spark,还是可以逐个提交 json 并根据该数据创建一个 Parquet 文件?

  • 我还需要考虑什么吗?

我真的很困惑,看来我的研究能力正在失败。我找不到任何相关内容来帮助我理解如何解决这个问题。我们非常欢迎并高度赞赏任何帮助(包括对引用文献的评论)。

最佳答案

您可以使用sparkSQL首先将JSON文件读入DataFrame,然后将DataFrame写入parquet文件。

val df = spark.read.json("path/to/json/file")   //in json path you can directly give file like below
or
val jsonString = $json
val df = spark.read.json(jsonString)

并将 df 转换为 parquet 您可以使用以下代码:

df.write.parquet("path/to/parquet/file")

or

df.save("path/to/parquet/file", "parquet")

因此,将 json 字符串转换为 parquet。您可以将所有代码放在项目中并创建一个 JAR。

创建 JAR 后,您可以将其放入 EMR 中并运行它的 Spark-submit 命令。

要在特定时间安排它,您可以使用 lambda 来触发它。

关于java - 使用 AWS EMR 将 JSON 字符串转换为 Parquet 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57833986/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com