/ / Methode zum Konvertieren diverser JSON-Dateien in RDBMS-Schema? - Python, JSON, RDBMS

Methode zum Konvertieren diverser JSON-Dateien in das RDBMS-Schema? - Python, JSON, RDBMS

Ich habe eine große Anzahl von JSON-Instanzen. Ich möchte sie in einem RDBMS zur Abfrage speichern. Dort werden sie sich nie ändern, es ist ein Data-Warehousing-Problem. Ich habe viele RDBMS-Daten, mit denen ich die JSON-Daten abgleichen möchte, so dass es eine schlechte Effizienz wäre, den JSON auf eine traditionellere Weise zu speichern (z.B. couchdb).

Aus der Suche im Internet gehe ich hervor, dass der beste Ansatz darin besteht, ein JSON-Schema zu erstellen (http://json-schema.org/) Dateien mit einem Werkzeug wiehttps://github.com/perenecabuto/json_schema_generator) und verwenden Sie das dann, um ein strukturiertes RDBMS aufzubauenReihe von Tabellen. Meine Daten sind ausreichend im Umfang begrenzt (minimale JSON-Verschachtelung), die ich bei Bedarf von Hand machen könnte, aber ein Werkzeug, das automatisch von JSON-Schema -> DB DDL-Anweisungen konvertiert würde, wäre großartig, wenn es unser dort ist.

Meine Frage ist zweigeteilt, zielt aber auf den erstenProblem - Gibt es ein Werkzeug oder eine Methode, mit der ich ein Master-Schema erstellen kann, das alle meine Daten beschreibt, da vielen Instanzen verschiedene Felder fehlen (und ich habe Dutzende Gigs von JSON-Daten)? Der zweite Teil ist mit dem Serialisierungsprozess. Gibt es eine Bibliothek (idealerweise Python, ich bin flexibel), die eine Schemadatei und ein Json-Objekt nehmen und die DML ausgeben würde, um diese in ein RDBMS einzufügen?

Alle Vorschläge willkommen!

Chris

Antworten:

0 für die Antwort № 1

Einige Python-Entwürfe zum Konvertieren von JSON in DDL - Sie müssen es für das JSON-Schema anpassen:


#!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 ");"