क्या कोई मुझे बता सकता है, सभी पंक्ति कुंजियों को एक हबेस तालिका में कैसे सूचीबद्ध करें?एक hbase तालिका में सभी पंक्ति कुंजी कैसे सूचीबद्ध करें?
उत्तर
Configuration conf = HBaseConfiguration.create();
HTable table = new HTable(conf, tableName.getBytes());
System.out.println("scanning full table:");
ResultScanner scanner = table.getScanner(new Scan());
for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
byte[] key == rr.getRow();
...
}
मुझे माफ़ कर दो .. मुझे REST API-PHP की आवश्यकता है ऐसा करने का तरीका। –
यह काफी तेज किया जाना चाहिए (FirstKeyOnlyFilter सर्वर पर चलाया जाता है और ग्राहक के लिए परिणाम भेजने से पहले सभी स्तंभ डेटा स्ट्रिप्स):
Configuration conf = HBaseConfiguration.create();
HTable table = new HTable(conf, tableName.getBytes());
System.out.println("scanning full table:");
Scan scan = new Scan();
scan.setFilter(new FirstKeyOnlyFilter());
ResultScanner scanner = table.getScanner(scan);
for (Result rr : scanner) {
byte[] key == rr.getRow();
...
}
सही है, लेकिन 'firstKeyOnlyFilter' का उपयोग करने से' scan.setCaching (1000) 'अब तक ** अधिक महत्वपूर्ण ** है। कृपया ध्यान दें कि डिफ़ॉल्ट कैशिंग को '1' पर सेट किया गया है। –
जब एक मेज स्कैन प्रदर्शन कर जहां केवल पंक्ति कुंजी की आवश्यकता होती है (कोई परिवार, क्वालीफायर, मान या टाइमस्टैम्प नहीं), सेटफिल्टर का उपयोग करके स्कैनर में MUST_PASS_ALL ऑपरेटर के साथ एक फ़िल्टरलिस्ट जोड़ें। फ़िल्टर सूची में फर्स्टकेयऑनफिल्टर और एक कीऑनलीफिल्टर दोनों शामिल होना चाहिए। इस फ़िल्टर संयोजन का उपयोग करने से क्षेत्र से सर्वर का एक सबसे खराब केस परिदृश्य होगा और एक पंक्ति के लिए क्लाइंट को न्यूनतम नेटवर्क यातायात पढ़ा जाएगा।
ऐसा लगता है कि आप PHP में HBase Thrift क्लाइंट का उपयोग करना चाहते हैं। यहां एक नमूना कोड है और आप एचबीएएस में सभी डेटा प्राप्त कर सकते हैं और अपनी पंक्ति कुंजी प्राप्त कर सकते हैं।
<? $_SERVER['PHP_ROOT'] = realpath(dirname(__FILE__).'/..');
require_once $_SERVER['PHP_ROOT'].'/flib/__flib.php';
flib_init(FLIB_CONTEXT_SCRIPT);
require_module('storage/hbase');
$hbase = new HBase('<server_name_running_thrift_server>', <port on which thrift server is running>);
$hbase->open();
$client = $hbase->getClient();
$result = $client->scannerOpenWithFilterString('table_name', "(PrefixFilter ('row2') AND (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter (123, 456))");
$to_print = $client->scannerGetList($result,1);
while ($to_print) {
print_r($to_print);
$to_print = $client->scannerGetList($result,1);
}
$client->scannerClose($result);
?>
HBase खोल सभी पंक्ति की कुंजियों को सूचीबद्ध करने के लिए इस्तेमाल किया जा सकता है:
count 'table_name', { INTERVAL => 1 }
परिणाम वर्ग के getRow विधि का उपयोग करें। इसका विवरण कहता है:
से पंक्ति के अनुरूप पंक्ति कुंजी को पुनर्प्राप्त करने के लिए विधि जो यह परिणाम बनाया गया था।
table
मानते हुए अपने HBase तालिका है और आप अपने HBase उदाहरण से जुड़े हैं, तुम सब करने की जरूरत है:
Scan scan = new Scan();
ResultScanner rscanner = table.getScanner(scan);
for(Result r : rscanner){
//r is the result object that contains the row
//do something
System.out.println(Bytes.toString(r.getRow())); //doing something
}
मैं समझता हूँ कि यह पहले से ही देखने के जावा एपीआई बिंदु से उत्तर दिया गया है, लेकिन थोड़ा और विवरण कभी भी किसी को चोट नहीं पहुंचाता।
- 1. hbase स्कैन परिणाम
- 2. hbase मौजूदा तालिका नहीं मिला
- 3. एक कुंजी-पंक्ति जोड़ी तालिका में 1 पंक्ति तालिका का फ़्लैटनिंग
- 4. कैसे Hbase स्कीमा डिजाइन करने के लिए?
- 5. सभी सत्र जानकारी सूचीबद्ध करें
- 6. इकाई ढांचा: समग्र कुंजी के साथ एक तालिका से एक पंक्ति कैसे वापस करें?
- 7. लिनक्स सिस्टम में सभी हार्डड्रिव सूचीबद्ध करें
- 8. क्या डेटाबेस में सभी विदेशी कुंजी सूचीबद्ध करना संभव है?
- 9. सभी वर्ग गुणों को कैसे सूचीबद्ध करें
- 10. एक तालिका पंक्ति
- 11. निर्देशिका में सभी फ़ोल्डर सूचीबद्ध करें
- 12. Jquery एक तालिका पंक्ति
- 13. एसक्यूएल क्वेरी: सभी तालिकाओं को एक तालिका में सूचीबद्ध करें जो किसी अन्य तालिका में दिखाई नहीं दे रहा है
- 14. छाया-वॉल्यूम में सभी संशोधित फ़ाइलों को कैसे सूचीबद्ध करें?
- 15. पायथन मॉड्यूल में सभी कार्यों को कैसे सूचीबद्ध करें?
- 16. वीआईएम के एनईआरडीटी में सभी बुकमार्क्स कैसे सूचीबद्ध करें?
- 17. रेल 3 एप्लिकेशन में सभी परिभाषित वातावरण कैसे सूचीबद्ध करें?
- 18. hbase
- 19. विम में सभी पर्यावरण चर कैसे सूचीबद्ध करें?
- 20. वर्डप्रेस उपयोगकर्ता और usermeta - एक तालिका में एक पंक्ति में एक पंक्ति में एकाधिक पंक्तियों में एक पंक्ति में
- 21. jQuery - एक तालिका पंक्ति इनलाइन
- 22. सभी svn सूचीबद्ध करें: बाहरी बार-बार?
- 23. hbase.MasterNotRunningException Hbase
- 24. SQLite सूची डेटाबेस में सभी विदेशी कुंजी
- 25. पोस्टग्रेस क्वेरी सभी तालिका नामों को सूचीबद्ध करने के लिए
- 26. मरम्मत HBase तालिका (संक्रमण में असाइन नहीं किए गए क्षेत्र)
- 27. लिनक्स: सभी उपलब्ध विंडो प्रबंधक सूचीबद्ध करें
- 28. एक एसक्लाइट डेटाबेस तालिका में एक पंक्ति को कैसे हटाएं?
- 29. एसक्यूएल - एक पंक्ति डालने और प्राथमिक कुंजी
- 30. एक तालिका में एक पंक्ति में किसी अन्य पंक्ति में एक यादृच्छिक पंक्तियों में शामिल हों
क्या आप सभी पंक्ति कुंजी को hbase shell के माध्यम से या जावा एपीआई के माध्यम से सूचीबद्ध करना चाहते हैं? – knt
हाय एनटी, मुझे आरईएसटी-PHP संयोजन का उपयोग करके सूचीबद्ध करने की आवश्यकता है। तुम मेरी मदद कर सकते हैं? अग्रिम में धन्यवाद। –
यहां देखें http://hbase.apache.org/docs/r0.20.4/api/org/apache/hadoop/hbase/stargate/package-summary.html#operation_scanner_create – dminer