Microsoft HDInsight Hadoop के भविष्य के बादल (और न केवल)

आधुनिक अनुसंधान केंद्रों, वित्तीय संस्थानों, सामाजिक नेटवर्क द्वारा उत्पन्न और एकत्र किए गए डेटा की मात्रा को पहले से ही पेटाबाइट्स में मापा जाता है। इसलिए, फेसबुक के पास पहले से ही फेसबुक डेटा सेंटरों में 15 बिलियन से अधिक छवियां संग्रहीत हैं, न्यूयॉर्क स्टॉक एक्सचेंज एनवाईएसई प्रतिदिन 1 टीबी डेटा बनाता है और प्रतिकृति करता है, लार्ज हैड्रॉन कोलाइडर को प्रति सेकंड 1 पीबी डेटा प्राप्त होता है।

जाहिर है, बड़ी मात्रा में डेटा प्रसंस्करण के कार्य केवल बड़ी कंपनियों के लिए ही नहीं, बल्कि स्टार्टअप्स और छोटे शोध समूहों के लिए भी तेजी से हो रहे हैं।

Hadoop प्लेटफ़ॉर्म, जो सिद्धांत रूप में, अर्ध-और असंरचित डेटा के लिए बिग डेटा समस्या को सफलतापूर्वक हल करता है, अपने "शुद्ध" रूप में Hadoop क्लस्टर के प्रशासकों की योग्यता और ऐसे क्लस्टर के हार्डवेयर के लिए प्रारंभिक लागत दोनों पर महत्वपूर्ण आवश्यकताएं लगाता है।

इस स्थिति में, क्लाउड डेटा और हैडोप प्लेटफ़ॉर्म के सहजीवन को बिग डेटा समस्या को हल करने के लिए एक बेहद आशाजनक तरीका के रूप में प्रस्तुत किया जाता है , जिसमें एक बहुत कम इनपुट स्तर (योग्यता + लॉन्च लागत) है।

आज, सबसे बड़े क्लाउड प्रदाता, रिलीज़ संस्करण के लिए निकटता की भिन्न डिग्री के साथ, "क्लाउड कम्प्यूटिंग + हडोप" सेवाएं प्रदान करते हैं। इसलिए अमेज़ॅन ने 2009 में अमेज़ॅन इलास्टिक मैपराइड, 2010 में Google - Google मैपरएपीआई, 2011 में माइक्रोसॉफ्ट - विंडोज एज़्योर एचडीआईनाइट की घोषणा की।

इस वर्ष Microsoft से सेवा ने एक उच्च विकास गतिकी को दिखाया और, सामान्य रूप से, Windows Azure क्लाउड सेवाओं और अन्य Microsoft BI-टूल के साथ प्रबंधन और विकास और एकीकरण दोनों से संबंधित क्षमताओं की एक विस्तृत श्रृंखला प्रदान करता है

1. एचडीआईनाइट। अवलोकन, इतिहास, पारिस्थितिकी तंत्र


HDInsight विंडोज सर्वर परिवार और विंडोज एज़्योर क्लाउड प्लेटफ़ॉर्म पर Hadoop प्लेटफॉर्म को तैनात करने के लिए Microsoft का समाधान है।

HDInsight दो संस्करणों में उपलब्ध है:

2011


Hadoonworks के साथ Microsoft की साझेदारी, Hadoop प्लेटफ़ॉर्म को Microsoft उत्पादों में एकीकृत करने के उद्देश्य से, अक्टूबर 2011 में व्यावसायिक एसोसिएशन फॉर SQL सर्वर (PASS) सम्मेलन में घोषित की गई थी।

उसी वर्ष 14 दिसंबर को, क्लाउड सेवा " Hadoop on Azure " (CTP) की शुरुआत की गई थी, जो सीमित संख्या में आमंत्रितों के लिए उपलब्ध थी।

2012


29 जून 2012 को, Hadoop on Azure सर्विस अपडेट (सर्विस अपडेट 2) जारी किया गया था। सेवा के पिछले संस्करण की तुलना में सबसे अधिक ध्यान देने योग्य परिवर्तन 2.5 गुना से क्लस्टर शक्ति में वृद्धि थी।

पहले से ही 2 महीने (21 अगस्त) के बाद, तीसरी सेवा अपडेट 3 जारी की गई, जिसमें से नवाचार थे:

25 अक्टूबर को, स्ट्रेटा कॉन्फ्रेंस-हडोप वर्ल्ड में, HDIightight को प्रस्तुत किया गया था (एक सेवा का विकास जिसे पहले "अज़ुरे पर अज़ूर" के रूप में जाना जाता था), जो आपको हडोप प्लेटफॉर्म को उद्यमों ( ऑन-प्रिमाइस ) और ऑन डिमांड ( ऑन-डिमांड ) दोनों में तैनात करने की अनुमति देता है ।

उसी वर्ष के अक्टूबर में, Hadoop प्रोजेक्ट के लिए Microsoft .NET SDK को लॉन्च किया गया था, जिसके उज्ज्वल लक्ष्यों में Linq-to-Hive, जॉब सबमिशन एपीआई और WebHDFS क्लाइंट का निर्माण है।

दिसंबर 2012 तक, HDIightight परीक्षण चरण में है और, Hadoop v1.0.1 के अलावा, निम्नलिखित घटक शामिल हैं:

एचडीआईनाइट इकोसिस्टम

एचडीआईनाइट का विकास C #, जावा, जावास्क्रिप्ट, पायथन में किया जा सकता है।

HDInsight को एकीकृत करने की क्षमता है:

2013 में Microsoft SQL सर्वर 2012 समानांतर डेटा वेयरहाउस के लिए, SQL सर्वर (डेटा एक्सचेंज के लिए), SQL सर्वर एकीकरण सेवाओं (डेटा लोड करने के लिए) और SQL सर्वर विश्लेषण सेवाओं (एनालिटिक्स) के साथ एक कनेक्टर की उम्मीद है।

लेख के अगले भाग में, हम विंडोज सर्वर समाधान के लिए स्थानीय स्तर पर स्थापित HDInsight पर शब्द गिनती के लिए एक Hadoop नौकरी (Hadoop Job) लिखने के व्यावहारिक उदाहरण पर विचार करेंगे।

2. एचडीआईनाइट। व्यावहारिक काम


ट्रेनिंग


सबसे पहले, वेब प्लेटफ़ॉर्म इंस्टालर के माध्यम से "Microsoft HDIightight for Windows Server CTP" समाधान स्थापित करें। समाधान की स्थापना को सफलतापूर्वक पूरा करने के बाद, हमारे पास डेस्कटॉप पर स्थानीय आईआईएस और उपयोगी शॉर्टकट पर नई वेबसाइटें होंगी।

जावास्क्रिप्ट वर्डकाउंटर


इन शॉर्टकट्स में से एक, "HadoopDashboard" बोलने वाले नाम के साथ एक वेबसाइट की ओर इशारा करते हुए, जिसकी हमें आवश्यकता है। इस शॉर्टकट पर क्लिक करने से HDIightight कंट्रोल पैनल खुलता है।

एचडीआईसाइट डैशबोर्ड

"इंटरएक्टिव जावास्क्रिप्ट" टाइल के बाद, हम अपने स्थानीय क्लस्टर के लिए एक नौकरी बनाने के लिए आगे बढ़ते हैं। आइए शास्त्रीय शब्द गणना के कार्य से शुरू करें।

ऐसा करने के लिए, हमें पाठ के साथ कई फ़ाइलों की आवश्यकता होगी (मैंने मार्टिन लूथर किंग के भाषणों में से एक से एक भाषण लिया) और नक्शे में खुद को गिनने की जावास्क्रिप्ट तर्क और चरणों (सूची 1) को कम किया। इस तर्क के अनुसार, हम गैर-अक्षर वर्ण ढूंढने पर शब्दों को अलग कर देंगे (यह स्पष्ट है कि यह हमेशा मामला नहीं होता है), "शोर" से छुटकारा पाने के अलावा, हम 3 वर्णों से कम शब्दों को ध्यान में नहीं रखेंगे।

लिस्टिंग 1. WordCountJob.js फ़ाइल
// map() implementation var map = function(key, value, context) { var words = value.split(/[^a-zA-Z]/); for (var i = 0; i < words.lenght; i++) { if (words[i] !== "" && words[i].lenght > 3) { context.write(words[i].toLowerCase(), 1); } } }; // reduce() implementation var reduce = function (key, values, context) { var sum = 0; while (values.hasNext()) { sum += parseInt(values.next()); } context.write(key, sum); }; 

विश्लेषण के लिए बनाई गई पाठ फाइलें और जावास्क्रिप्ट, वर्डकाउंटजोब.जेएस फाइल में सहेजे गए, को एचडीएफएस (लिस्टिंग 2) में स्थानांतरित किया जाना चाहिए।

लिस्टिंग 2।
 #mkdir wordcount //   wordcount fs.put("wordcount") //         fs.put("wordcount") #ls wordcount //       fs.put() //   HDFS  wordCountJob.js #cat wordCountJob.js //  wordCountob.js 

क्या किया गया है कुछ इस तरह दिखता है:

HDInsight। पद गणना कार्य

हम पहले 10 परिणामों के लिए एक अनुरोध करते हैं, जो अवरोही क्रम में क्रमबद्ध हैं:

 pig.from("wordcount").mapReduce("wordCountJob.js", "word, count:long").orderBy("count DESC").take(49).to("output"); 

और इसलिए यह अमेज़न S3 क्लाउड स्टोरेज के लिए दिखेगा:

 pig.from("s3n://HDinsightTest/MartinLutherKing").mapReduce("wordCountJob.js", "word, count:long").orderBy("count DESC").take(49).to("output"); 

हम शुरू करते हैं और अंत में हमें कुछ ऐसा मिलता है:

 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success! (View Log) 

परिणाम को टेक्स्ट आउटपुट और फिर ग्राफिक के रूप में देखें।

 js> #ls output //       

3 आइटम मिले
 -rw-r--r-- 1 hadoop supergroup 0 2012-12-12 08:47 /user/hadoop/output/_SUCCESS drwxr-xr-x - hadoop supergroup 0 2012-12-12 08:47 /user/hadoop/output/_logs -rw-r--r-- 1 hadoop supergroup 0 2012-12-12 08:47 /user/hadoop/output/part-r-00000 


 js> #cat output/part-r-00000 //   

परिणाम (घटनाओं की संख्या / शब्द)
वह 115
वे ६५
यह 57
उनके ५०
50 होना चाहिए
48 है
39 के साथ
38 होगा
वियतनाम 38
उन्हें 33
राष्ट्र २ 27
26 से
जब २३
दुनिया २३
जो २२
अमेरिका 22
बोलो २१
वहाँ 20
17 थे
16 में
जीवन 15
15 के विरुद्ध
उन 14
अमेरिकी 14
क्रांति 14
14 हो गए
13 बनाओ
लोग १३
भूमि १३
सरकार १३
ये १३
लगभग 13
क्या १२
ऐसे 12
प्यार 12
शांति 12
अधिक 11
11 से अधिक
यहां तक ​​कि 11
11 से
महान ११
केवल 10
जा रहा है १०
हिंसा १०
हर 10
कुछ 10
बिना 10 के
10 होगा
चुनाव १०

 js> file = fs.read("output") js> data = parse(file.data, "word, count:long") js> graph.bar(data) //   

HDInsight। शब्द गणना ग्राफिक

यह ध्यान देने योग्य है कि मार्टिन लूथर किंग ने अक्सर "प्रेम," "स्वतंत्रता," "पसंद" "जीवन" जैसे शब्दों का इस्तेमाल किया।

3. और आगे क्या?


लेखक के व्यक्तिपरक राय के अनुसार, एक पाठ के टुकड़े में शब्दों की आवृत्ति को गिनने का कार्य (यदि आप रूपात्मक विश्लेषण शामिल नहीं करते हैं) विषय क्षेत्र की जटिलता में भिन्न नहीं होते हैं। और, परिणामस्वरूप, यह मेरे या आईटी समुदाय में जंगली हित के एक डूबते दिल का कारण नहीं बनता है।

सबसे आम "बिग डेटा" मामलों के उद्देश्य से अध्ययन कर रहे हैं:

मैं आगे नहीं जाऊंगा , क्योंकि यह एक अलग लेख का विषय है। मैं केवल यह कह सकता हूं कि हडोप मंच पर हल किए गए मामले, सामान्य रूप से, निम्नलिखित गुण हैं:

इसलिए, उपशीर्षक में प्रस्तुत प्रश्न का उत्तर देते हुए ("आगे क्या है?"), मैंने विषय क्षेत्र को बदलने के लिए पहला कार्य निर्धारित किया। मेरा विचार वित्तीय क्षेत्र पर, विशेष रूप से, उच्च-आवृत्ति ट्रेडिंग ** (हाई फ़्रीक्वेंसी ट्रेडिंग, एचएफटी) पर गिर गया।

दूसरा पहलू जिसे आपको पिछले उदाहरण में प्रस्तुत एक से अलग तरीके से देखना होगा, गणना का स्वचालन है

जावास्क्रिप्ट + सुअर बंडल, एचडीआईनाइट डैशबोर्ड से उपलब्ध है, निश्चित रूप से विषय क्षेत्र और प्रोग्रामिंग से परिचित विश्लेषक के हाथों में एक शक्तिशाली उपकरण है। लेकिन फिर भी यह "बीच में आदमी" है और यह मैनुअल इनपुट है। ट्रेडिंग रोबोट के लिए, यह दृष्टिकोण स्पष्ट रूप से अस्वीकार्य है।

निष्पक्षता में, मैं दोहराता हूं कि HDInsight कमांड लाइन के माध्यम से कार्यों के निष्पादन का समर्थन करता है, जो किसी भी विश्लेषण विश्लेषण कार्य के समाधान को स्वचालित कर सकता है। लेकिन मेरे लिए यह गुणात्मक सुधार की तुलना में अधिक मात्रात्मक सुधार है।

और एक गुणवत्ता सुधार HDInsight द्वारा समर्थित उच्च-स्तरीय प्रोग्रामिंग भाषाओं में से एक में विकास है। उनमें से: जावा, पायथन और सी #।

इसलिए, हमने फैसला किया कि क्या बदलने की जरूरत है ताकि एचडीआईनाइट का उपयोग करने के लाभों के बारे में बॉस को दिखाना या बात करना शर्मनाक न हो।

दुर्भाग्य से, एक्सचेंज टिक के विश्लेषण घटक के कार्यों का वर्णन और इन कार्यों के कार्यान्वयन (स्रोत कोड के साथ), अंतिम चरण से दूर होने के अलावा, लेख के दायरे और दायरे से परे भी जाता है (लेकिन, मैं आपको विश्वास दिलाता हूं, यह समय की बात है)।

निष्कर्ष


HDInsight एक लचीला समाधान है जो एक डेवलपर को अपेक्षाकृत कम समय में ऑन-प्रिमाइसेस Hadoop क्लस्टर को तैनात करने या क्लाउड में ऑन-डिमांड सेवा के रूप में ऑर्डर करने की अनुमति देता है, जिसमें प्रोग्रामिंग भाषाओं और दोस्तों की एक विस्तृत श्रृंखला है (.NET डेवलपर्स के लिए) विकास उपकरण।

इस प्रकार, एचडीआईनाइट समाधान अभूतपूर्व रूप से "डेटा-इंटेंसिव" अनुप्रयोगों के विकास में प्रवेश के स्तर को कम करता है। जो, बदले में, जरूरी तौर पर Hadoop प्लेटफॉर्म, MPP अनुप्रयोगों और शोधकर्ताओं और व्यवसायों के बीच इस तरह के अनुप्रयोगों की मांग को भी बढ़ावा देगा।

प्रेरणा का स्रोत


[१] मैट विंकलर। विंडोज एज़्योर और विंडोज के लिए जावास्क्रिप्ट और .NET के साथ बिग डेटा एनालिटिक्स एप्लिकेशन विकसित करना । 2012 सम्मेलन, 2012 का निर्माण।

* घटक संस्करण दिसंबर 2012 के लिए हैं।
** लेखक जानता है कि यह हडोप (सबसे पहले और केवल वास्तविक समय की गणना की संवेदनशीलता के कारण) के लिए सबसे विशिष्ट मामला नहीं है। लेकिन आँखें डरती हैं, और हाथ - सिर बनाते हैं - सोचते हैं।

Source: https://habr.com/ru/post/In165265/


All Articles