【发布时间】:2021-03-13 00:00:41
【问题描述】:
我目前有一个用 & 分隔的文本字符串,我需要使用 PySpark 解析它以将键值对提取到数组/字典中。我可以使用字符串中的大多数标签来执行此操作,但问题是某些键具有索引,并且每个记录可能会有所不同,但键将始终相同(如果有意义的话。我想做的是,遍历字符串
示例输入:
"{pr1nm=Apples&pr1id=1111111&pr1pr=200.00&pr1qt=1&pr2nm=Pears&pr2id=1111112&pr2pr=300.00&pr2qt=2}"
期望的输出:
[{
"ProductName":"Apples",
"ProductId": "1111111",
"ProductPrice":"200.00",
"ProductQuantity":"1",
"ProductName":"Pears",
"ProductId":"1111112",
"ProductPrice":"300.00"
"ProductQuantity":"2"
}]
此外,如果我在同一字符串中有其他标签,这些标签与产品无关,例如:
"{dl=https://stackoverflow.com/posts/XXXXX&t=pageview&pr1nm=Apples&pr1id=1111111&pr1pr=200.00&pr1qt=1&pr2nm=Pears&pr2id=1111112&pr2pr=300.00&pr2qt=2}"
输出应该类似于嵌套数组中的产品:
{"DocumentLocation":"https://stackoverflow.com/posts/XXXXX",
"HitType":"pageview",
"Products": [{
"ProductName":"Apples",
"ProductId": "1111111",
"ProductPrice":"200.00",
"ProductQuantity":"1",
"ProductName":"Pears",
"ProductId":"1111112",
"ProductPrice":"300.00"
"ProductQuantity":"2"
}]
}
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql pyspark-dataframes