apache-spark - 将 Spark 数据帧行作为 dynamoDB 表中的项目写入

标签 apache-spark amazon-dynamodb pyspark

有没有办法写我的spark的每一行数据框作为 dynamoDB 中的新项目 table ? (在 pySpark 中)

我将此代码用于 boto3图书馆,但我想知道是否有另一种方式,避免 pandasfor loop脚步 :

sparkDF_dict = sparkDF.toPandas().to_dict('records')
for item in sparkDF_dict :
    table.put_item(Item = item)

最佳答案

DynamoDB 提供了一个 BatchWriteItem API .是available in boto3 ,因此您可以在创建 sparkDF_dict 25 个元素的切片后调用它。请注意,BatchWriteItem API 仅支持 writing 25 items at a time ,并且并非所有写入一开始都可能成功(因为它们可能会在服务端受到限制并在响应的 UnprocessedItems 部分返回给您)。您的申请需要查看 UnprocessedItems在响应中并根据需要重试。

关于apache-spark - 将 Spark 数据帧行作为 dynamoDB 表中的项目写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057878/

相关文章:

java - DynamoDB 的嵌套和组合注释不起作用

python - 如何在 pandas 中创建与多个列组合的数据框列

python - 如何复制 Parquet 文件并将其转换为 csv

scala - 在 Apache Spark 中连接到 SQLite

python - 从 PySpark 中的两个数据帧计算值

mysql - 如何在不知道数据库表模式的情况下按分区加载到 spark

java - dynamoDB 中 putItemRequest 中预期的工作原理

sql-server - 使用 Node.js 从 MSSQL 到 DynamoDB 的数据传输

docker - 如何在SparkConf中初始化一个master以便在k8s集群上运行分布式?

scala - DataFrame API 如何依赖 Spark 中的 RDD?