Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> SQL

Hive डायनामिक पार्टीशनिंग में महारत: तेज़ क्वेरी के लिए स्वचालित डेटा सेगमेंटेशन

Apache Hive विश्लेषण और MapReduce जॉब्स के लिए Hadoop पर बना एक डेटा वेयरहाउसिंग सिस्टम है। पार्टीशनिंग बड़े डेटासेट को तेज़ क्वेरी के लिए छोटे भागों में विभाजित करती है। डायनामिक पार्टीशनिंग सम्मिलित किए जा रहे डेटा से पार्टीशन मान स्वचालित रूप से निर्धारित करती है, स्टेटिक पार्टीशनिंग के विपरीत जहां मान मैन्युअल रूप से निर्दिष्ट किए जाते हैं।

स्टेटिक बनाम डायनामिक पार्टीशनिंग

विशेषतास्टेटिक पार्टीशनिंगडायनामिक पार्टीशनिंग
पार्टीशन मानप्रति सम्मिलन मैन्युअल रूप से निर्दिष्टडेटा से स्वचालित रूप से प्राप्त
सबसे अच्छा लिएकुछ ज्ञात पार्टीशनकई या अज्ञात पार्टीशन
WHERE क्लॉजआवश्यकआवश्यक नहीं
लचीलापनकमउच्च

डायनामिक पार्टीशनिंग सक्षम करना

SET hive.exec.dynamic.partition = true;
SET hive.exec.dynamic.partition.mode = nonstrict;

पूर्ण उदाहरण

एक स्रोत टेबल बनाएं, डेटा लोड करें, फिर इसे डायनामिक रूप से पार्टीशन करें:

-- चरण 1: स्रोत टेबल बनाएं
CREATE TABLE sales_raw (
  id INT, product STRING, amount DOUBLE, sale_date STRING, country STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
-- चरण 2: डेटा लोड करें
LOAD DATA LOCAL INPATH '/home/data/sales.csv' INTO TABLE sales_raw;
-- चरण 3: पार्टीशन की गई टेबल बनाएं
CREATE TABLE sales_partitioned (
  id INT, product STRING, amount DOUBLE, sale_date STRING
) PARTITIONED BY (country STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
-- चरण 4: डायनामिक पार्टीशनिंग के साथ सम्मिलित करें
INSERT INTO TABLE sales_partitioned PARTITION (country)
SELECT id, product, amount, sale_date, country FROM sales_raw;

Hive स्रोत डेटा में विशिष्ट country मानों के आधार पर पार्टीशन डायरेक्टरी स्वचालित रूप से बनाता है।

पार्टीशन प्रबंधित करना

-- पार्टीशन देखें
SHOW PARTITIONS sales_partitioned;
-- विशिष्ट पार्टीशन क्वेरी करें (पार्टीशन प्रूनिंग)
SELECT * FROM sales_partitioned WHERE country = 'India';
-- पार्टीशन ड्रॉप करें
ALTER TABLE sales_partitioned DROP PARTITION (country = 'India');

निष्कर्ष

Hive में डायनामिक पार्टीशनिंग INSERT के दौरान डेटा मानों से पार्टीशन स्वचालित रूप से बनाती है, प्रत्येक पार्टीशन को मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता को समाप्त करती है। यह कई विशिष्ट पार्टीशन मानों वाले बड़े डेटासेट के लिए आदर्श है, पार्टीशन प्रूनिंग के माध्यम से क्वेरी प्रदर्शन में सुधार करती है जबकि मैन्युअल प्रयास को कम करती है।

  1. HTML में स्पेस के प्रकारों में अंतर करना HTML में स्पेस के प्रकारों में अंतर करना

    HTML में, कभी-कभी हमें स्पेस बनाने की आवश्यकता होती है, और यह स्पेसबार का उपयोग करके इसे बनाने जितना आसान नहीं है। यह विशेष रूप से सच है यदि हमें एक पंक्ति में कई स्पेस या टैब चाहिए - HTML उन कई स्पेस को एक स्पेस में संकुचित कर देता है। यहीं HTML एंटिटीज़ काम आती हैं। इस लेख में, हम उन विभिन्न HTML

  1. C प्रोग्राम में ऐरे रोटेशन के लिए प्रोग्राम C प्रोग्राम में ऐरे रोटेशन के लिए प्रोग्राम

    समस्या विवरण एक C प्रोग्राम लिखें जो ऐरे को n स्थिति से बाएं घुमाए। C प्रोग्रामिंग में ऐरे को n बार बाएं घुमाने का तरीका। C प्रोग्राम में ऐरे को n स्थिति से बाएं घुमाने का तर्क। उदाहरण इनपुट: arr[] = 1 2 3 4 5 6 7 8 9 10, N = 3 आउटपुट: 4 5 6 7 8 9 10 1 2 3 व्याख्या ऐरे में तत्व पढ़ें, मान लें ar

  1. HTML onbeforeprint इवेंट एट्रिब्यूट: प्रिंट से पहले कार्रवाई HTML onbeforeprint इवेंट एट्रिब्यूट: प्रिंट से पहले कार्रवाई

    HTML onbeforeprint इवेंट एट्रिब्यूट तब ट्रिगर होता है जब एक पेज प्रिंट होने वाला होता है या प्रिंट डायलॉग बॉक्स खुलने से पहले। यह प्रिंट लेआउट समायोजित करने, वॉटरमार्क जोड़ने, संवेदनशील डेटा छिपाने, या प्रिंट-विशिष्ट स्टाइल लागू करने के लिए उपयोगी है। सिंटैक्स (Syntax) <tagname onbeforeprint=sc