将各种JSON文件转换为RDBMS模式的方法?

时间:2014-01-25 18:41:14

标签: python json rdbms

我有大量的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中?

欢迎所有建议!

克里斯

2 个答案:

答案 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