जहाँ तक मैं समझता हूँ कि वहाँ
- छत्ता के छत्ते metastore सर्वर है, जो तब इस तरह के स्कीमा अभिव्यक्ति के लिए mysql के रूप में एक संबंधपरक डाटाबेस के लिए पृष्ठभूमि में जोड़ता है का उपयोग कर कनेक्ट करने के लिए 2 तरीके हैं। यह आम तौर पर पोर्ट 9083 पर चलता है।
- छत्ता JDBC सर्वर, HiveServer2 कहा जाता है, जो बंदरगाह 10001 पर चलता है, आम तौर पर ...
अब, छत्ता के पिछले संस्करणों में है, तो स्थिर नहीं है और वास्तव में यह बहु सूत्रण समर्थन है हुआ करता था hiveserver2 भी सीमित था। उस क्षेत्र में शायद चीजें सुधार गई हैं, मैं कल्पना करूंगा।
तो जेडीबीसी एपीआई के लिए - हाँ, यह आपको जेडीबीसी और एसक्यूएल का उपयोग करके संवाद करने देगा।
मेटास्टोर कनेक्टिविटी के लिए, 2 विशेषताएं दिखाई देती हैं। DDL कार्रवाई करने DML
-
- वास्तव में एसक्यूएल प्रश्नों को चलाने के लिए।
DDL -
DDL के लिए, metastore एपीआई काम में आते हैं, org.apache.hadoop.hive.metastore.HiveMetaStoreClient HiveMetaStoreClient वर्ग उस उद्देश्य के लिए उपयोग किया जा सकता
DML -
जो मुझे इस संबंध में उपयोगी पाया गया है वह है org.apache.hadoop.hive.ql.Driver https://hive.apache.org/javadocs/r0.13.1/api/ql/org/apache/hadoop/hive/ql/Driver.htmlhive.ql.Driver वर्ग इस श्रेणी में run()
नामक एक विधि है जो आपको SQL कथन निष्पादित करने और प्राप्त करने देता है परिणाम वापस उदाहरण के लिए आप निम्नलिखित
Driver driver = new Driver(hiveConf);
HiveMetaStoreClient client = new HiveMetaStoreClient(hiveConf);
SessionState.start(new CliSessionState(hiveConf));
driver.run("select * from employee);
// DDL example
client.dropTable(db, table);
यहां तक कि मैं अंतर को समझना चाहता हूं। – Bector