如何在没有attributevalues的情况下从pyspark写入dynamo?

pxyaymoc  于 2024-01-06  发布在  Spark
关注(0)|答案(1)|浏览(144)

我有一个动态框架,它有以下模式

  1. root
  2. |-- data1: string (nullable = false)
  3. |-- data2: string (nullable = false)
  4. |-- data3: array (nullable = false)
  5. | |-- element: string (containsNull = true)

字符串
现在,当我使用

  1. glue_context.write_dynamic_frame_from_options(
  2. frame=DynamicFrame.fromDF(df, glue_context, "output"),
  3. connection_type="dynamodb",
  4. connection_options={
  5. "dynamodb.output.tableName": "table_name",
  6. "dynamodb.throughput.write.percent": "1.0",
  7. },
  8. )


数据3被写为[ { "L" : [ { "S" : "" }, { "S" : "" }, { "S" : "" }, { "S" : "" } ] } ],但我希望它是["","","",""]
我该如何实现这一点?

mlnl4t2r

mlnl4t2r1#

DynamoDB始终将数据存储在DynamoDB-JSON中,其中包括称为AttributesValues的类型描述符。
This blog突出显示了两者之间的差异。
根据您从哪里读取数据,您可以使用unmarshall函数将其带回到native-JSON或使用上面提到的博客中解释的高级SDK之一。Web控制台也有一个切换开关,因此您可以在控制台中查看时在两种类型的JSON之间切换。

相关问题