如何将 PySpark 数据帧写入 DynamoDB 表?

RK.*_*RK. 4 amazon-dynamodb pyspark

如何将 PySpark 数据帧写入 DynamoDB 表?没有找到太多这方面的信息。根据我的要求,我必须将 PySpark 数据帧写入 Dynamo 数据库表。总的来说,我需要从 PySpark 代码读取/写入发电机。

提前致谢。

小智 5

Ram,没有办法直接从 pyspark 做到这一点。如果您有正在运行的管道软件,则可以通过一系列步骤完成。具体方法如下:

  1. 创建一个临时 Hive 表,例如

    CREATE TABLE TEMP( column1 type, column2 type...) STORED AS ORC;

  2. 运行 pySpark 作业并将数据写入其中

    dataframe.createOrReplaceTempView("df") spark.sql("INSERT OVERWRITE TABLE temp SELECT * FROM df")

  3. 创建发电机连接器表

    CREATE TABLE TEMPTODYNAMO( column1 type, column2 type...) STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' TBLPROPERTIES ("dynamodb.table.name" = "temp-to-dynamo", "dynamodb.column.mapping" = "column1:column1,column2:column2...";

  4. 用您的临时表覆盖该表

    INSERT OVERWRITE TABLE TEMPTODYNAMO SELECT * FROM TEMP;

更多信息请参见: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/EMR_Hive_Commands.html