我有一堆json文件,假设每个文件都有以下结构:
{
"fields": {
"name": "Bob",
"key": "bob"
},
"results": {
"bob": { ... }
}
}
不幸的是,虽然json的结构相当一致,但在“results”下面有一个动态键。在下定义的架构 fields
对我来说很直接。
因此,对于几个json文件,最终的模式可能是:
fieldSchema = StructField(...)
resultSchema = StructField("results", StructType([StructField("bob", ...)]))
finalSchema = StructType([fieldSchema, resultsSchema])
问题出在这条线上: StructField("bob", ...)
显然, bob
不是我要找的钥匙。这个 name
对于 StructField
理想情况下是某种通配符、正则表达式模式,或者最坏情况下是基于其他字段的动态字段。
我是一个新手,一直在搜索的文件和历史stackoverflow职位,但我一直找不到任何东西。
长话短说,我希望能够通过某种广泛的网络为 name
structfield中的参数,以包含各种不同的键,类似于regex模式。
1条答案
按热度按时间xmq68pz91#
如果我知道你想做的是从一个json文件创建一个模式,如果是这样,请参考以下链接:createsparkdataframeschemafromsjson模式表示