我必须使用pySpark将大量文件加载到配置单元表中。有多个包含数据的json文件和定义了文件数据模式的单独文件。当不通过模式加载文件时,数据列会混乱,这就是为什么我想创建模式的原因。 Json文件如下所示:
data: {'col1': 'ASDFG', 'col2': 'ASDXC'...
schema: {'description': 'filename', 'type': 'object', 'properties': {'col1': {'type': 'string'}, 'col2': {'type': 'string}, 'col3': {'type': 'string} ...
我的想法是将此文件作为字典读取,提取“属性”键值作为列名和数据类型,然后SOMEHOW生成用于将Spark数据帧加载到配置单元的架构。还有其他选择吗?如果您遇到这种情况,我将非常感谢您的帮助或提供一些示例。
谢谢。
答案 0 :(得分:0)
您说它们不正常,但这是因为python字典没有顺序(最新版本除外)。
您可以改用OrderedDict
,它们将保持原始顺序:
from collections import OrderedDict
data = json.loads(my_json, object_pairs_hook=OrderedDict)