我一直在寻找将S3的Parquet文件加载(基本上为空并还原)到DynamoDB的选项。 Parquet文件本身是通过在EMR群集上运行的spark作业创建的。这里有几件事要记住,
还有其他选择吗?
答案 0 :(得分:0)
您能否仅在Spark RDD中引用Parquet文件并将工作人员的条目放入dynamoDB?忽略将DynamoDB客户端缓存在每个工作器中以在不同的行中重复使用的挑战,花一点点时间才能完成一行,为dynamo和PUT建立一个条目就足够了。
顺便说一句:在这里按需使用DynamoDB,因为它可以很好地处理峰值负载,而无需提交某些SLA。
答案 1 :(得分:0)
查看以下答案: https://stackoverflow.com/a/59519234/4253760
解释过程:
我的个人建议:无论您做什么,都不要使用RDD。即使在Scala中,RDD接口也比任何语言的Dataframe API慢2-3倍。 只要您不使用UDF,Dataframe API的性能就与编程语言无关。