इस प्रोजेक्ट के बारे में

Apache Hudi (Hadoop Upserts Deletes and Incrementals) एक ओपन-सोर्स डेटा लेकहाउस प्लेटफ़ॉर्म है जो उच्च-प्रदर्शन ओपन टेबल फ़ॉर्मेट के आसपास बनाया गया है। यह संगठनों को कई क्लाउड डेटा वातावरणों में डेटा को इनजेस्ट, इंडेक्स, स्टोर, सर्व, ट्रांसफ़ॉर्म और प्रबंधित करने में सक्षम बनाता है, जबकि क्लाउड स्टोरेज पर डेटा को ओपन फ़ॉर्मेट में बनाए रखता है। मुख्य क्षमताओं में शामिल हैं: **इनजेशन**: Apache Spark और Apache Flink उपयोगकर्ताओं के लिए अंतर्निहित उपकरण, आधा दर्जन फ़ाइल फ़ॉर्मेट, डेटाबेस चेंज लॉग और स्ट्रीमिंग डेटा सिस्टम का समर्थन करते हैं। बाहरी डेटा स्रोतों को लाने के लिए Kafka Connect सिंक शामिल है। **स्टोरेज**: पंक्ति और स्तंभ दोनों डेटा का समर्थन करने वाला अनुकूलित स्टोरेज फ़ॉर्मेट। परिवर्तन इतिहास को ट्रैक करने के लिए टाइमलाइन मेटाडेटा, सांख्यिकी का उपयोग करके स्वचालित फ़ाइल आकार और लेआउट प्रबंधन, डेटा संस्करण और पुनर्प्राप्ति के लिए सेवपॉइंट, और विकास के साथ स्कीमा ट्रैकिंग की सुविधा है। **इंडेक्सिंग**: स्केलेबल इंडेक्सिंग सबसिस्टम जो स्नैपशॉट क्वेरीज़ को तेज़ करता है, राइट्स द्वारा स्वचालित रूप से बनाए रखा जाता है। कुशल क्वेरी प्लानिंग के लिए फ़ाइल लिस्टिंग, कॉलम-स्तर और पार्टीशन-स्तर के आँकड़ों को ट्रैक करता है। पंक्ति-उन्मुख फ़ाइल फ़ॉर्मेट और ब्लूम फ़िल्टर के माध्यम से रिकॉर्ड-स्तरीय इंडेक्सिंग प्रदान करता है, साथ ही भौतिक स्टोरेज पार्टीशनिंग से अलग एक्सप्रेशन इंडेक्स का उपयोग करके लॉजिकल पार्टीशनिंग करता है। **राइटिंग**: रोलबैक/रिस्टोर समर्थन के साथ एटॉमिक कमिट। रिकॉर्ड-स्तरीय इंडेक्स का लाभ उठाते हुए तेज़ अपसर्ट/डिलीट ऑपरेशन। राइटर्स और क्वेरीज़ के बीच स्नैपशॉट आइसोलेशन। ऑप्टिमिस्टिक कंकरेंसी कंट्रोल (रिलेशनल डेटा मॉडल के लिए रीड-मॉडिफाई-राइट) और नॉन-ब्लॉकिंग कंकरेंसी कंट्रोल (आउट-ऑफ-ऑर्डर/लेट डेटा हैंडलिंग के साथ स्ट्रीमिंग डेटा मॉडल) दोनों प्रदान करता है। **क्वेरीज़**: एक ही टेबल पर कई क्वेरी प्रकार: स्नैपशॉट क्वेरी (नवीनतम कमिटेड स्थिति), इंक्रीमेंटल क्वेरी (किसी समय बिंदु के बाद से परिवर्तन), चेंज-डेटा-कैप्चर क्वेरी (पहले/बाद की छवियों के साथ परिवर्तन स्ट्रीम), टाइम-ट्रैवल क्वेरी (किसी दिए गए समय के अनुसार टेबल), और रीड ऑप्टिमाइज़्ड क्वेरी (कॉम्पैक्शन के माध्यम से स्तंभ स्टोरेज प्रदर्शन)। **टेबल प्रबंधन**: स्वचालित, हैंड्स-फ्री टेबल सेवाएँ जो Spark/Flink राइटर्स में एकीकृत हैं या स्वतंत्र रूप से संचालित होती हैं। विफलता हैंडलिंग के साथ कॉन्फ़िगर करने योग्य शेड्यूलिंग। स्टोरेज रिक्लेमेशन के लिए क्लीनिंग और TTL प्रबंधन। डेटा लेआउट अनुकूलन के लिए क्लस्टरिंग और स्पेस-फिलिंग कर्व एल्गोरिदम। पंक्ति-उन्मुख डेटा का स्तंभ फ़ॉर्मेट में एसिंक्रोनस कॉम्पैक्शन। चालू संचालन के दौरान सुसंगत इंडेक्स निर्माण। Hive Metastore, AWS Glue, Google BigQuery, Apache XTable और अधिक के साथ कैटलॉग सिंक्रोनाइज़ेशन। Hudi कई Spark संस्करणों (3.3 से 4.2) और Flink संस्करणों (1.18 से 2.2) के साथ बिल्डिंग का समर्थन करता है, Scala 2.12/2.13 विकल्पों के साथ। प्रोजेक्ट बिल्ड के लिए Maven का उपयोग करता है और व्यापक परीक्षण प्रोफ़ाइल (यूनिट, फंक्शनल, इंटीग्रेशन) प्रदान करता है।