我一直在寻找将 Parquet 文件从 S3 加载到 DynamoDB 的选项(基本上是空的和恢复)。Parquet 文件本身是通过在 EMR 集群上运行的 spark 作业创建的。这里有几件事要记住,
- 我无法使用 AWS 数据管道
- 文件将包含数百万行(比如 1000 万行),因此需要一个有效的解决方案。我相信 boto API(即使是批量写入)可能没有那么高效?
还有其他选择吗?
我一直在寻找将 Parquet 文件从 S3 加载到 DynamoDB 的选项(基本上是空的和恢复)。Parquet 文件本身是通过在 EMR 集群上运行的 spark 作业创建的。这里有几件事要记住,
还有其他选择吗?
看看下面的答案: https ://stackoverflow.com/a/59519234/4253760
解释这个过程:
我个人的建议:无论你做什么,都不要使用 RDD。即使在 Scala 中,RDD 接口也比任何语言的 Dataframe API 慢 2-3 倍。只要您不使用 UDF,Dataframe API 的性能就与编程语言无关。
您可以仅参考 Spark RDD 中的 Parquet 文件并让工作人员将条目放入 dynamoDB 吗?忽略在每个工作人员中缓存 DynamoDB 客户端以便在不同行中重用的挑战,它需要一些 scala 来获取一行,为 dynamo 和 PUT 构建一个条目就足够了。
顺便说一句:在这里按需使用 DynamoDB,因为它可以很好地处理峰值负载,而您不必承诺某些 SLA。