मेरे पास JSON इंस्टेंस की एक बड़ी मात्रा है। मैं उन्हें क्वेरी करने के लिए RDBMS में संग्रहीत करना चाहूंगा। एक बार जब वे कभी नहीं बदलेंगे, तो यह डेटा वेयरहाउसिंग समस्या है। मेरे पास बहुत सारे RDBMS डेटा हैं, जिनसे मैं JSON डेटा का मिलान करना चाहता हूं, इसलिए JSON को अधिक पारंपरिक तरीके (जैसे। Couchdb) में संग्रहीत करना खराब दक्षता होगी।
वेब पर शिकार करने से, मैं इकट्ठा करता हूं कि JSON स्कीमा बनाने के लिए सबसे अच्छा तरीका हो सकता है (http://json-schema.org/) एक उपकरण का उपयोग कर फ़ाइलें जैसे (https://github.com/perenecabuto/json_schema_generator) और फिर एक संरचित RDBMS बनाने के लिए इसका उपयोग करेंतालिकाओं की श्रृंखला। मेरा डेटा पर्याप्त रूप से दायरे (न्यूनतम JSON घोंसले के शिकार) में सीमित है जिसे मैं ज़रूरत पड़ने पर हाथ से कर सकता हूं, लेकिन एक उपकरण जो JSON स्कीमा से स्वचालित रूप से परिवर्तित हो जाता है -> DB DDL स्टेटमेंट बहुत अच्छा होगा यदि यह हमारे वहां है
मेरा सवाल दो जुदा है लेकिन पहले उद्देश्य से हैसमस्या - क्या कोई उपकरण या विधि है जिसके द्वारा मैं एक मास्टर स्कीमा बना सकता हूं जो मेरे सभी डेटा का वर्णन करता है, क्योंकि कई उदाहरण विभिन्न क्षेत्रों को याद कर रहे हैं (और मेरे पास दसियों गीगा जीन्स डेटा है)? दूसरा भाग क्रमबद्धता प्रक्रिया के साथ है। क्या कोई लाइब्रेरी मौजूद है (आदर्श रूप से अजगर, मैं "लचीला हालांकि) कि एक स्कीमा फ़ाइल और एक जेन्स ऑब्जेक्ट लेगा और एक आरएमबीएमएस में डालने के लिए डीएमएल को आउटपुट करेगा?
सभी सुझावों का स्वागत है!
क्रिस
उत्तर:
जवाब के लिए 0 № 1JSON को DDL में परिवर्तित करने के लिए कुछ ड्राफ्ट पायथन - आपको 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 ");"