आज के व्यवसाय में निर्णय लेने के लिए सटीक और समय पर डेटा की आवश्यकता होती है। डेटा-संचालित एप्लिकेशन और समय श्रृंखला डेटा पर निर्मित डैशबोर्ड हर उद्यम में पाए जाते हैं। व्यावसायिक डेटा का एक बड़ा हिस्सा समय श्रृंखला है - सिस्टम और एप्लिकेशन मेट्रिक्स से लेकर मौसम, स्टॉक की कीमतें, नेटवर्क टेलीमेट्री, IoT सेंसर तक, सभी व्यावसायिक अंतर्दृष्टि प्रदान करने के लिए जटिल समय श्रृंखला विश्लेषण और विज़ुअलाइज़ेशन पर निर्भर करते हैं।
ऐसे कई डेटाबेस हैं जो इस प्रकार के विश्लेषण के लिए बनाए गए हैं, जैसे कि क्लिकहाउस (क्लिकहाउस और मिनिओ पर अधिक जानकारी के लिए क्लिकहाउस को मिनिओ के साथ एकीकृत करना देखें), स्नोफ्लेक, अमेज़ॅन का टाइमस्ट्रीम और रेडशिफ्ट, और अपाचे ड्र्यूड। एक विशिष्ट वर्कफ़्लो में डेटा एकत्र करना, संभवतः वास्तविक समय में स्ट्रीम किया जाना या डेटा लेक से खींचना, इसे डेटाबेस में बदलना और शामिल करना, और फिर डेटाबेस के विरुद्ध चलने वाले SQL प्रश्नों का उपयोग करके एप्लिकेशन और डैशबोर्ड बनाना शामिल है।
यह ब्लॉग पोस्ट अपाचे ड्र्यूड पर केंद्रित है, विशेष रूप से मिनियो के साथ डीप स्टोरेज के रूप में ड्र्यूड को कैसे चलाया जाए। हम बाद में और अधिक विस्तार में जाएंगे, लेकिन संक्षेप में ड्र्यूड डेटा को S3 डीप स्टोरेज में सहेजता है और क्वेरी चलाते समय आवश्यकतानुसार इसे स्थानीय मेमोरी के अंदर और बाहर स्वैप करता है। हम MiniIO स्थापित करने जा रहे हैं, Druid स्थापित कर रहे हैं, Druid को MiniIO का उपयोग करने के लिए कहने के लिए कुछ कॉन्फ़िगरेशन फ़ाइलों को संपादित करेंगे, और फिर डेमो डेटा आयात करेंगे और Apache Superset का उपयोग करके इसे विज़ुअलाइज़ करेंगे।
इस बात से आश्चर्यचकित होने के लिए तैयार रहें कि आप ओपन सोर्स उत्पादों के साथ कितनी जल्दी उच्च-प्रदर्शन विश्लेषण और विज़ुअलाइज़ेशन स्टैक बना सकते हैं।
ड्र्यूड सबसे तेज़ डेटा भंडारों में से एक है - इसे डेटा गोदामों, समय श्रृंखला डेटाबेस और खोज प्रणालियों के लाभों को संयोजित करने के लिए बनाया गया था। ड्र्यूड इन तीन प्रणालियों की प्रमुख विशेषताओं को अपनी अंतर्ग्रहण परत, भंडारण प्रारूप, क्वेरी परत और कोर आर्किटेक्चर में संयोजित करके अत्यधिक तीव्र क्वेरी प्रतिक्रियाएँ प्राप्त करता है। ड्र्यूड को आम तौर पर अपाचे काफ्का, अपाचे फ्लिंक जैसी अन्य ओपन सोर्स प्रौद्योगिकियों के साथ तैनात किया जाता है और यह स्टोरेज या प्रोसेसिंग परत और अंतिम उपयोगकर्ता के बीच बैठता है, जो विश्लेषणात्मक कार्यभार के लिए क्वेरी परत के रूप में कार्य करता है। ड्र्यूड कैसे काम करता है इसके बारे में अधिक जानने के लिए, कृपया अपाचे ड्र्यूड 101 देखें।
ड्र्यूड क्लाउड-नेटिव है और माइक्रोसर्विस-आधारित आर्किटेक्चर पर निर्भर करता है। ड्र्यूड में प्रत्येक मुख्य सेवा (अंतर्ग्रहण, क्वेरी, समन्वय) को कंटेनरों या कमोडिटी हार्डवेयर पर स्वतंत्र रूप से तैनात और स्केल किया जा सकता है। इसके अलावा, ड्र्यूड सेवाएँ स्वतंत्र रूप से विफल हो सकती हैं और अन्य सेवाओं को प्रभावित किए बिना पुनः आरंभ या अद्यतन की जा सकती हैं।
ड्र्यूड में कई प्रक्रिया प्रकार हैं:
समन्वयक प्रक्रियाएँ क्लस्टर पर डेटा उपलब्धता का प्रबंधन करती हैं।
अधिपति प्रक्रियाएं डेटा अंतर्ग्रहण कार्यभार के असाइनमेंट को नियंत्रित करती हैं।
ब्रोकर प्रक्रियाएँ बाहरी ग्राहकों के प्रश्नों को संभालती हैं।
राउटर प्रक्रियाएं वैकल्पिक हैं; वे अनुरोधों को दलालों, समन्वयकों और अधिपतियों तक पहुंचाते हैं।
ऐतिहासिक प्रक्रियाएँ क्वेरी योग्य डेटा संग्रहीत करती हैं।
मिडिलमैनेजर डेटा ग्रहण करने की प्रक्रिया करता है।
ये प्रक्रियाएं आम तौर पर तीन अलग-अलग सर्वर या नोड प्रकारों पर समूहों में तैनात की जाती हैं:
ड्र्यूड की तीन प्रमुख बाहरी निर्भरताएँ हैं: डीप स्टोरेज, मेटाडेटा स्टोरेज और ज़ूकीपर। संक्षेप में, मेटाडेटा का उपयोग खंड उपयोग और कार्य जानकारी को ट्रैक करने के लिए किया जाता है, और आमतौर पर PostgreSQL या MySQL द्वारा नियंत्रित किया जाता है। ज़ूकीपर का उपयोग आंतरिक सेवा खोज और समन्वय के लिए किया जाता है।
चूंकि यह मिनिओ ब्लॉग है, हम गहन भंडारण पर ध्यान केंद्रित करने जा रहे हैं। डीप स्टोरेज एक साझा फ़ाइल सिस्टम है जिसे प्रत्येक ड्र्यूड सर्वर द्वारा एक्सेस किया जा सकता है जहां डेटा को अंतर्ग्रहण के बाद संग्रहीत किया जाता है। एकल-सर्वर परिनियोजन में यह केवल एक स्थानीय ड्राइव है। क्लस्टर्ड परिनियोजन में, डीप स्टोरेज एक वितरित ऑब्जेक्ट स्टोर जैसे S3 या MiniIO, HDFS या नेटवर्क माउंटेड फाइल सिस्टम का रूप ले लेगा।
डीप स्टोरेज वह तरीका है जिससे ड्र्यूड प्रक्रियाओं के बीच डेटा स्थानांतरित करता है और डेटा का बैकअप लेता है। ड्र्यूड डेटा को सेगमेंट नामक फाइलों में संग्रहीत करता है। एक आंतरिक मैपिंग है जो सेगमेंट को डीप स्टोरेज से खींचकर स्थानीय ड्राइव और मेमोरी में कैश कर देती है। विलंबता को कम करने के लिए, क्वेरीज़ स्थानीय रूप से खंडों के विरुद्ध चलती हैं, गहरे भंडारण में संग्रहीत खंडों के विरुद्ध नहीं। गहरा भंडारण ड्र्यूड के लोचदार, दोष-सहिष्णु डिजाइन को सक्षम बनाता है। डेटा नोड नीचे जाने और वापस ऊपर आने की स्थिति में ड्र्यूड गहरे भंडारण से बूटस्ट्रैपिंग द्वारा स्थायित्व प्रदान करता है। एक चेतावनी यह है कि जिस डेटा के साथ आप ड्र्यूड में काम करना चाहते हैं, उसके लिए आपको डेटा नोड्स पर और गहरे भंडारण में पर्याप्त खाली स्थान की आवश्यकता होगी।
ड्र्यूड डीप स्टोरेज के लिए ऑब्जेक्ट स्टोरेज के लिए S3 API का उपयोग करता है। मिनिआईओ जैसे एस3 एपीआई संगत ऑब्जेक्ट स्टोरेज का उपयोग करने से आपको ड्र्यूड को कहीं भी चलाने की आजादी मिलती है, जो कुछ ऐसा है जो आप प्रदर्शन और सुरक्षा में सुधार के लिए करना चाहते हैं। मिनिओ ड्र्यूड के लिए एक शानदार गहन भंडारण है क्योंकि इसमें उत्कृष्ट एस 3 संगतता, वास्तविक समय ओएलएपी के लिए आवश्यकताओं को पूरा करने के लिए प्रदर्शन और, शायद सबसे बढ़कर, बड़े पैमाने पर प्रदर्शन देने की क्षमता है। मिनिआईओ आवश्यक डेटा सुरक्षा और जीवनचक्र प्रबंधन भी प्रदान करता है।
आप Druid, MiniIO और Superset को सीधे Linux पर या Docker या Kubernetes पर कंटेनर में चला सकते हैं। वहां पहले से ही कुछ बेहतरीन संसाधन मौजूद हैं जो आपको बताते हैं कि ड्र्यूड को कैसे तैयार किया जाए और कैसे चलाया जाए, इसलिए यदि किसी कारण से यह ब्लॉग पोस्ट आपको संतुष्ट नहीं करता है, तो लिनक्स के लिए अपाचे ड्र्यूड क्विकस्टार्ट , डॉकर · डॉकर और क्लस्टर्ड अपाचे के लिए अपाचे ड्र्यूड देखें। Kubernetes के लिए आपके लैपटॉप पर Druid® ।
यदि आप पहले से ही MiniIO नहीं चला रहे हैं, तो यहां इंस्टॉलेशन निर्देश दिए गए हैं। इस प्रक्रिया को मिनिओ क्विकस्टार्ट गाइड में पूरी तरह से वर्णित किया गया है।
उदाहरण के लिए, Linux पर, MiniIO डाउनलोड करें और इसे चलाएं (रूट पासवर्ड बदलने के लिए स्वतंत्र महसूस करें - और इसे याद रखें):
wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"
एक ब्राउज़र लॉन्च करें और आपके द्वारा पहले कॉन्फ़िगर किए गए रूट उपयोगकर्ता और पासवर्ड का उपयोग करके http://<your-IP-address>:9000
पर MiniIO सर्वर से कनेक्ट करें।
पहली बार लॉग इन करने पर, आपको बकेट पेज पर ले जाया जाएगा।
बकेट druidbucket
बनाएं।
वास्तविक दुनिया में, आप शायद अपने ड्र्यूड डेटा तक सुरक्षित पहुंच चाहते होंगे, लेकिन हमें अपनी प्रयोगशाला में ऐसा करने की ज़रूरत नहीं है। आप एक सेवा खाता बनाएंगे (पहचान मेनू के तहत), उपयोगकर्ता नीति को केवल druidbucket
तक पहुंच की अनुमति देने के लिए संपादित करें और नीचे दिए गए ड्र्यूड कॉन्फ़िगरेशन में सेवा खाते की एक्सेस कुंजी और गुप्त कुंजी का उपयोग करें।
ड्र्यूड ड्राइव का परीक्षण करने का सबसे आसान तरीका डॉकर के माध्यम से है। डॉकर · अपाचे ड्र्यूड निर्देशों का पालन करें और इस docker-compose.yaml का उपयोग करें। यह प्रत्येक Druid सेवा के साथ-साथ Zookeeper और PostgresSQL के लिए एक कंटेनर बनाता है। यह विधि ड्र्यूड कॉन्फ़िगरेशन को निर्दिष्ट करने के लिए एक पर्यावरण फ़ाइल का उपयोग करती है। इस फ़ाइल को वहां डाउनलोड करें जहां आपने ड्र्यूड के कंटेनर सहेजे हैं। नीचे दिए गए निर्देशों के लिए (मिनियो के लिए ड्र्यूड कॉन्फ़िगर करें), आप वेरिएबल्स को मानक ड्र्यूड कॉन्फ़िगरेशन फ़ाइलों में पास करने के लिए पर्यावरण फ़ाइल को संपादित कर सकते हैं या सीधे कंटेनर के भीतर कॉन्फ़िगरेशन फ़ाइलों को संपादित कर सकते हैं।
Druid को docker-compose up
से प्रारंभ करें। एक बार क्लस्टर सामने आने पर, ब्राउज़र खोलें और ड्र्यूड कंसोल का उपयोग करने के लिए http://localhost:8888
पर नेविगेट करें।
अब गहरे भंडारण के लिए मिनिओ का उपयोग करने के लिए ड्र्यूड को कॉन्फ़िगर करने का समय आ गया है। इस चरण में, आपको MiniIO को संदर्भित करने के लिए Druid कॉन्फिग फ़ाइलों (या ऊपर वर्णित डॉकर पर्यावरण फ़ाइलों) को संपादित करने और फिर Druid को पुनरारंभ करने की आवश्यकता होगी। प्रक्रिया पूरी तरह से मिनियो को डीप स्टोरेज - डीज़ोन बिग डेटा के रूप में उपयोग करने के लिए ड्र्यूड को कैसे कॉन्फ़िगर करें में वर्णित है और हम त्वरित संदर्भ के लिए यहां एक संक्षिप्त संस्करण शामिल कर रहे हैं।
इस पर निर्भर करते हुए कि आपने Druid को कैसे स्थापित किया है, conf/druid/_common/common.runtime.properties
फ़ाइल में, druid.extensions.loadList
में "druid-s3-extensions"
जोड़ें। नाम के अनुसार, उद्धरण चिह्नों में और अल्पविराम से अलग करके एक्सटेंशन जोड़ें, उदाहरण के लिए:
druid.extensions.loadList=["druid-parser-route", "druid-s3-extensions"]
उपरोक्त संदर्भित लेख के अनुसार, गहरे भंडारण के लिए S3 एक्सटेंशन हुड के नीचे Jet3t पर निर्भर करता है। आपको क्लास पथ पर एक jets3t.properties
फ़ाइल बनाने की आवश्यकता है। इस उदाहरण के लिए, हम निम्नलिखित के साथ conf/druid/_common
निर्देशिका के अंदर एक नया jets3t.properties
बनाएंगे:
s3service.s3-endpoint=localhost s3service.s3-endpoint-http-port=9000 s3service.disable-dns-buckets=true s3service.https-only=false
अब, "डीप स्टोरेज" अनुभाग के अंतर्गत स्थानीय स्टोरेज के लिए कॉन्फ़िगरेशन पर टिप्पणी करें और मिनिओ के लिए उचित मान जोड़ें। मेरे मामले में, मैं MiniIO को Druid जैसी ही मशीन पर चला रहा हूं, इसलिए S3 एंडपॉइंट URL में लोकलहोस्ट और एक पोर्ट शामिल है। यदि आप किसी अन्य मशीन पर या किसी कंटेनर में चल रहे हैं, तो आपको अपने वातावरण में MiniIO को संबोधित करने के लिए इस लाइन को बदलना होगा।
इसके बाद, "डीप स्टोरेज" अनुभाग इस तरह दिखना चाहिए:
# # Deep storage # # For local disk (only viable in a cluster if this is a network mount): # druid.storage.type=local # druid.storage.storageDirectory=var/druid/segments # For HDFS: # druid.storage.type=hdfs # druid.storage.storageDirectory=/druid/segments # For S3: druid.storage.type=s3 druid.storage.bucket=druidbucket druid.storage.baseKey=druid/segments druid.s3.accessKey= <insert your MinIO accessKey> druid.s3.secretKey= <insert your MinIO secretKey> druid.s3.protocol=http druid.s3.enabePathStyleAccess=true druid.s3.endpoint.signingRegion=us-east-1 druid.s3.endpoint.url=http://localhost:9000/
हम मिनियो में अनुक्रमण सेवा लॉग संग्रहीत करने के लिए ड्र्यूड को भी कॉन्फ़िगर करने जा रहे हैं। इसे ढूंढना आसान बनाने के लिए हर चीज़ को एक ही स्थान पर संग्रहीत करना एक अच्छा अभ्यास है - लॉग के लिए कई स्थानों की खोज किए बिना ड्र्यूड काफी जटिल है। conf/druid/_common/common.runtime.properties
में उचित मानों के साथ "इंडेक्सिंग सेवा लॉग" अनुभाग को अपडेट करें।
इसके बाद, "अनुक्रमण सेवा लॉग" अनुभाग इस तरह दिखना चाहिए:
# Indexing service logs # For local disk (only viable in a cluster if this is a network mount): # druid.indexer.logs.type=file # druid.indexer.logs.directory=var/druid/indexing-logs # For HDFS: # druid.indexer.logs.type=hdfs # druid.indexer.logs.directory=/druid/indexing-logs # For S3: druid.indexer.logs.type=s3 druid.indexer.logs.s3Bucket=druidbucket druid.indexer.logs.s3Prefix=druid/indexing-logs
ठीक है! इसमें ड्र्यूड में किए जाने वाले सभी कॉन्फ़िगरेशन परिवर्तन शामिल हैं। फ़ाइल को सहेजें और अपने क्लस्टर को पुनरारंभ करें। जैसे ही आप ड्र्यूड के साथ काम करते हैं, आपको druidbucket
पर लिखे गए खंड और सूचकांक दिखाई देंगे।
अपाचे सुपरसेट एक शक्तिशाली विज़ुअलाइज़ेशन टूल है जिसका उपयोग अक्सर ड्र्यूड के साथ किया जाता है। सुपरसेट एक क्लाउड-नेटिव बिजनेस इंटेलिजेंस एप्लिकेशन है जो तेज, हल्का, फीचर-पैक है और सबसे अच्छी बात यह है कि यह मुफ़्त है! सुपरसेट का सहज ज्ञान युक्त इंटरफ़ेस इंटरैक्टिव डैशबोर्ड को अपेक्षाकृत आसान बनाता है। सुपरसेट अधिकांश SQL डेटाबेस के लिए आउट-ऑफ़-द-बॉक्स समर्थन प्रदान करता है। सुपरसेट विज़ुअलाइज़ेशन को सुरक्षित करने के लिए डेटाबेस, ओपनआईडी, एलडीएपी और ओएथ जैसे प्रमाणीकरण बैकएंड के साथ एकीकृत होता है।
क्लाउड-नेटिव सॉफ़्टवेयर के रूप में, सुपरसेट अत्यधिक स्केलेबल और अत्यधिक उपलब्ध है। इसे बड़े, वितरित परिवेशों तक विस्तारित करने के लिए डिज़ाइन किया गया था।
हम सुपरसेट को उत्पादन में बढ़ाने की तुलना में इसके साथ शुरुआत करने में अधिक रुचि रखते हैं, इसलिए हम डॉकर कंपोज़ का उपयोग करके सबसे सरल इंस्टॉलेशन करने जा रहे हैं। लिनक्स या मैक ओएसएक्स पर सुपरसेट को आज़माने का यह सबसे तेज़ तरीका है।
यदि आपके पास पहले से डॉकर स्थापित नहीं है, तो कृपया डॉकर के निर्देशों का पालन करें। एक बार जब आप डॉकर इंस्टॉल कर लें, तो कृपया डॉकर कंपोज़ इंस्टॉल करें ।
एक टर्मिनल विंडो खोलें और सुपरसेट रेपो को क्लोन करें:
$ git clone https://github.com/apache/superset.git
यह आपकी वर्तमान निर्देशिका में एक सुपरसेट फ़ोल्डर बनाएगा। उस निर्देशिका पर नेविगेट करें और निम्नलिखित कमांड चलाएँ (जिसे पूरा होने में कई मिनट लग सकते हैं):
$ docker-compose -f docker-compose-non-dev.yml pull $ docker-compose -f docker-compose-non-dev.yml up
आप अपने टर्मिनल पर ढेर सारा इनिशियलाइज़ेशन टेक्स्ट पास होते हुए देखेंगे। एक बार जब आप ऐसा कुछ देखेंगे तो सुपरसेट तैयार हो जाएगा:
superset_app | Loaded your LOCAL configuration at [/app/docker/pythonpath_dev/superset_config.py] superset_app | 127.0.0.1 - - [12/May/2022:23:59:35 +0000] "GET /health HTTP/1.1" 200 2 "-" "curl/7.74.0"
सुपरसेट तक पहुंचने के लिए ब्राउज़र खोलें और http://localhost:8088
पर नेविगेट करें। डिफ़ॉल्ट उपयोगकर्ता नाम "एडमिन" और पासवर्ड "एडमिन" के साथ लॉग इन करें।
सुपरसेट में लॉग इन करने के बाद, आपको इसे ड्र्यूड से कनेक्ट करना होगा। शीर्ष दाईं ओर, डेटाबेस जोड़ने के लिए "+" पर क्लिक करें।
ड्रॉपडाउन सूची से अपाचे ड्र्यूड चुनें। फिर कनेक्शन को नाम दें और SQLALCHEMY URI के अंतर्गत निम्नलिखित दर्ज करें, यह सुनिश्चित करते हुए कि IP पता अपडेट करें या आवश्यकतानुसार इसे लोकलहोस्ट से बदलें। यदि हमने प्रमाणीकरण की आवश्यकता के द्वारा ड्र्यूड एपीआई को सुरक्षित किया होता, तो हम एक उपयोगकर्ता नाम और पासवर्ड भी दर्ज करते।
druid://10.0.0.10:8888/druid/v2/sql
यह सुनिश्चित करने के लिए कनेक्शन का परीक्षण करें कि यह काम करता है, और फिर समाप्त पर क्लिक करें।
वू हू! अब आपके वातावरण में Druid, MiniIO और Superset चल रहे हैं।
ड्र्यूड, सुपरसेट और मिनिओ की तिकड़ी के साथ, हम वास्तविक समय डेटा का पूर्ण और समय पर दृश्य देख सकते हैं। ऐसे कई संगठन हैं जिन्होंने क्लिकस्ट्रीम एनालिटिक्स (वेब और मोबाइल एनालिटिक्स), जोखिम/धोखाधड़ी विश्लेषण, नेटवर्क टेलीमेट्री एनालिटिक्स (नेटवर्क प्रदर्शन निगरानी), आपूर्ति श्रृंखला एनालिटिक्स (विनिर्माण मेट्रिक्स) के लिए इस संयोजन के शीर्ष पर वेब-स्केल डेटा-ड्राइव एप्लिकेशन बनाए हैं। और अनुप्रयोग प्रदर्शन मेट्रिक्स।
यह क्लाउड-नेटिव एनालिटिक्स और विज़ुअलाइज़ेशन स्टैक लचीला और एक्स्टेंसिबल है, और स्केलेबल और परफॉर्मेंट है ताकि आप ऐसे एप्लिकेशन बना सकें जो आपके उपयोगकर्ताओं को प्रसन्न करें। उन्हें वास्तविक समय डेटा की निगरानी, विश्लेषण और कल्पना करने की शक्ति दें। उन्हें कॉलम के किसी भी संयोजन के आधार पर टुकड़े-टुकड़े करने, फ़िल्टर करने और समूह बनाने दें, ताकि वे व्यावसायिक मांगों के अनुसार निर्णायक कार्रवाई-उन्मुख डेटा-संचालित निर्णय ले सकें।
हमारे द्वारा बनाई गई कार्यक्षमता को प्रदर्शित करने के लिए, हम समय के साथ विकिपीडिया संपादनों की एक ट्यूटोरियल डेटा फ़ाइल को ड्र्यूड में लोड करेंगे और फिर सुपरसेट में संपादनों की कल्पना करेंगे। याद रखें, यह मिनियो द्वारा डीप स्टोरेज के रूप में समर्थित है। विकिपीडिया संपादनों को क्विकस्टार्ट · अपाचे ड्र्यूड में अधिक विस्तार से शामिल किया गया है।
ड्र्यूड ओवरलॉर्ड सर्वर पर JSON में एक अंतर्ग्रहण कार्य विनिर्देश सबमिट करके डेटा लोड करता है। आप वेब जीयूआई का उपयोग करके एक अंतर्ग्रहण विशिष्टता बना सकते हैं या इसे स्वयं लिख सकते हैं और इसे शेड्यूल कर सकते हैं। एक बार जब आप अंतर्ग्रहण विशिष्टता बना और ट्यून कर लेते हैं, तो आप JSON का पुन: उपयोग कर सकते हैं ताकि आपको कार्य दोहराना न पड़े। उत्पादन में, टीमें अक्सर अंतर्ग्रहण को शेड्यूल और स्वचालित करती हैं।
एक ब्राउज़र खोलें और http://localhost:8888 पर ड्र्यूड वेब इंटरफ़ेस लोड करें।
विंडो के शीर्ष पर, डेटा लोड करें पर क्लिक करें। यहां से, उदाहरण डेटा चुनें, फिर दाईं ओर ड्रॉप-डाउन से विकिपीडिया संपादन चुनें और नीले लोड उदाहरण बटन पर क्लिक करें।
वेब जीयूआई आपको एक अंतर्ग्रहण विशिष्टता बनाने में मदद करता है जो किसी स्रोत से डेटा पढ़ेगा और इसे गहरे भंडारण पर खंडों में संग्रहीत करेगा। अंतर्ग्रहण एक टाइम स्टैम्प पर आधारित होता है जिसका उपयोग डेटा को विभाजित करने और सॉर्ट करने के लिए किया जाता है, जबकि डेटा को आयामों और मैट्रिक्स के कॉलम के रूप में संग्रहीत किया जाता है। अंतर्ग्रहण पर प्रदर्शन को अनुकूलित करने के तरीके के बारे में अधिक जानकारी के लिए, कृपया अपाचे ड्र्यूड में डेटा मॉडलिंग और क्वेरी प्रदर्शन देखें।
ट्यूटोरियल डेटा के साथ, हम बस डिफ़ॉल्ट को स्वीकार करते हुए अंतर्ग्रहण वर्कफ़्लो पर क्लिक करेंगे, या JSON विनिर्देश संपादित करें पर क्लिक करेंगे और फिर सबमिट पर क्लिक करेंगे। यदि आप चाहते थे (या ज़रूरत थी), तो आप कच्ची फ़ाइल को JSON के रूप में देख सकते हैं और उसे पार्स कर सकते हैं। डेटा को व्यवस्थित और विभाजित करने के लिए ड्र्यूड अपना स्वयं का समय कॉलम बनाता है जिसे __time
कहा जाता है। क्योंकि ड्र्यूड के लिए समय बहुत महत्वपूर्ण है, यह यह पता लगाने में बहुत अच्छा है कि टाइमस्टैम्प को उनके प्रारूप की परवाह किए बिना कैसे संभालना है। इसके अलावा, हम डेटा को रूपांतरित कर सकते हैं, और डेटा को विभाजित करके और सेगमेंट को आकार देकर क्वेरी प्रदर्शन के लिए अनुकूलन कर सकते हैं। अंत में, आप थ्रेड और मेमोरी उपयोग के संदर्भ में अंतर्ग्रहण कार्य को ट्यून कर सकते हैं, फिर इसे शेड्यूल कर सकते हैं और चला सकते हैं।
GUI आपको कार्य देखने के लिए भेजता है:
यह बहुत छोटा अंतर्ग्रहण कार्य है इसलिए यह लगभग तुरंत समाप्त हो जाता है।
यहां से, आप ड्र्यूड में डेटा के विरुद्ध क्वेरी चला सकते हैं और बिजली की तेजी से प्रतिक्रिया प्राप्त कर सकते हैं। आप वेब जीयूआई या एपीआई के माध्यम से क्वेरी चला सकते हैं। बड़े पैमाने पर बड़ी मात्रा में डेटा पर उत्कृष्ट क्वेरी प्रदर्शन प्रदान करने की क्षमता के कारण ड्र्यूड खुद को कई डैशबोर्ड के पीछे पाता है।
उस ब्राउज़र पर वापस लौटें जहां आपने सुपरसेट में लॉग इन किया है, और एक बार फिर होम स्क्रीन के शीर्ष दाईं ओर "+" पर क्लिक करें। फिर चार्ट पर क्लिक करें।
हम स्क्रीन के नीचे अलग-अलग SQL क्वेरी चला सकते हैं। डैशबोर्ड व्यक्तिगत प्रश्नों के समूह हैं। प्रदर्शन को बेहतर बनाने के लिए दोहराए जाने वाले प्रश्नों के उत्तरों को सुपरसेट में कैश किया जाता है।
डेटासेट druid.wikipedia
चुनें और फिर एक विज़ुअलाइज़ेशन चुनें। सुपरसेट में कई समय-श्रृंखला विज़ुअलाइज़ेशन शामिल हैं। हम समय-श्रृंखला चार्ट चुनने जा रहे हैं और फिर नया चार्ट पर क्लिक करेंगे।
प्रारंभ में, आपको कोई परिणाम नहीं दिखेगा, लेकिन इससे मूर्ख मत बनो। सबसे पहले, समय सीमा को "नो फिल्टर" पर सेट करके हटा दें। टाइम ग्रेन "दिन" पर बहुत अधिक सेट है, इसलिए इसे "5 मिनट" में बदलें। अब हम अपने नमूना डेटा में 5 मिनट की विंडो में होने वाले विकिपीडिया संपादनों की संख्या का एक चार्ट देख रहे हैं।
आप सुपरसेट का उपयोग करके परिणामों को फ़िल्टर और समूहित कर सकते हैं। चार्ट को सहेजने के लिए, स्क्रीन के शीर्ष पर सहेजें पर क्लिक करें, फिर चार्ट को एक नाम दें और इसे सहेजें।
अब तक आप ड्र्यूड और मिनिओ को स्थापित करने, अपना पहला डेटा सेट ग्रहण करने और अपना पहला सुपरसेट चार्ट तैयार करने के बुनियादी चरण सीख चुके हैं। सुपरसेट में डेटा की खोज के बारे में अधिक जानना एक सहायक अगला कदम हो सकता है।
इस ब्लॉग पोस्ट में, हमने क्लाउड-नेटिव एप्लिकेशन का एक समूह पेश किया: एनालिटिक्स के लिए अपाचे ड्र्यूड, विज़ुअलाइज़ेशन के लिए अपाचे सुपरसेट और एस3 डीप स्टोरेज के लिए मिनिओ। यह सरल डेमो क्लाउड-नेटिव एनालिटिक्स और विज़ुअलाइज़ेशन स्टैक के निर्माण की शुरुआत है, और इसे एमएल के लिए अपाचे स्पार्क या डेटा साइंस के लिए ज्यूपिटर के साथ बढ़ाया जा सकता है।
इस डेमो को पढ़ने के लिए धन्यवाद. यदि आपके कोई प्रश्न हैं, तो कृपया हमें [email protected] पर एक ईमेल भेजें, या मिनियो स्लैक चैनल से जुड़ें और पूछें।
यहाँ भी प्रकाशित किया गया है.