我有大量的JSON实例。我想将它们存储在RDBMS中进行查询。一旦它们永远不会改变,那就是数据仓库问题。我有很多我希望与JSON数据匹配的RDBMS数据,因此以更传统的方式存储JSON(例如couchdb)效率很低。
从搜索网络开始,我认为最好的方法可能是使用诸如(http://json-schema.org/)之类的工具创建JSON模式(https://github.com/perenecabuto/json_schema_generator)文件,然后使用它来构建结构化的RDBMS系列的表格。我的数据范围(最小的JSON嵌套)是足够有限的,如果需要我可以手工完成,但是一个自动从JSON模式转换的工具 - >如果我们在那里,DB DDL语句会很棒。
我的问题是两个分手但针对第一个问题 - 是否有一个工具或方法可以创建描述我所有数据的主模式,因为许多实例缺少各种字段(我有几十个演出) json数据)?第二部分是序列化过程。是否存在一个库(理想情况下是python,我是灵活的),它将采用模式文件和json对象并输出DML以将其插入到RDBMS中?
欢迎所有建议!
克里斯
答案 0 :(得分:0)
用于将JSON转换为DDL的一些Python草案 - 您必须使其适应JSON模式:
#!python
import json
import sys
fp = open(sys.argv[1])
jsobj = json.load(fp)
print "Create table("
for elt in jsobj["fields"]:
print elt["name"], elt["type"], ","
print ");"
答案 1 :(得分:0)
我们刚刚在https://github.com/deepstartup/jsonutils中发布了此软件包。也许您会发现它有用。如果您需要我们更新某些内容,请打开JIRA。 试试:
pip install DDLJ
from DDLj import genddl
genddl(*param1,param2,*param3,*param4)
Where
param1= JSON Schema File
param2=Database (Default Oracle)
Param3= Glossary file
Param4= DDL output script