我正在使用 Databricks Autoloader 中的 inferSchema 来获取复杂的 JSON 响应,但是对于某些数据部分,我需要使用 schemaHints 来覆盖推断的数据类型(如文档https://docs.databricks.com/spark /latest/structured-streaming/auto-loader-schema.html)。
我在一些嵌套结构中苦苦挣扎,如下所示:
文件示例 #1:
{
'id': 'xyz',
'age': 10,
'information':
{
'id_person_1': {
'info1': 'test',
'info2': 30
}
}
文件示例 #2:
{
'id': 'abc',
'age': 32,
'information':
{
'id_person_2': {
'info1': 'different value',
'info2': 50
}
}
由于id_person_1和id_person_2是信息对象中的键,而这些值是信息中的实际 id,我如何利用它而不创建从该列推断的特定数据类型?
我已经尝试将其推断为 map<string, string> 但其结果字符串将带有换行符和特殊字符。我目前考虑的最可行的方法是将所有信息组作为字符串进行进一步解析。有没有办法加载它并且键变成结构?