హైవ్ అనేది వ్యాపారంలో విస్తృతంగా ఉపయోగించే బిగ్ డేటా అనలిటిక్స్ సాధనం మరియు మీరు బిగ్ డేటాకు కొత్త అయితే ప్రారంభించడానికి ఇది అద్భుతమైన ప్రదేశం. ఈ అపాచీ హైవ్ పాఠం అపాచీ హైవ్ యొక్క ప్రాథమికాంశాల ద్వారా వెళుతుంది, అందులో నివశించే తేనెటీగలు ఎందుకు అవసరం, దాని లక్షణాలు మరియు మీరు తెలుసుకోవలసిన అన్నింటి గురించి.
అపాచీ హైవ్ నిర్మించబడిన హడూప్ ఫ్రేమ్వర్క్ను మొదట అర్థం చేసుకుందాం.
అపాచీ హడూప్
అపాచీ హడూప్ ఉచితం మరియు ఓపెన్ సోర్స్ గిగాబైట్ల నుండి పెటాబైట్ల వరకు పెద్ద డేటాసెట్లను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి ప్లాట్ఫారమ్. డేటాను నిల్వ చేయడానికి మరియు విశ్లేషించడానికి ఒకే పెద్ద కంప్యూటర్ అవసరం కాకుండా, అపారమైన డేటాసెట్లను సమాంతరంగా విశ్లేషించడానికి అనేక కంప్యూటర్లను క్లస్టరింగ్ చేయడానికి హడూప్ అనుమతిస్తుంది.
MapReduce మరియు Hadoop డిస్ట్రిబ్యూటెడ్ ఫైల్ సిస్టమ్ అనేవి రెండు భాగాలు:
- మ్యార్రెడ్యూస్చే – MapReduce అనేది కమోడిటీ హార్డ్వేర్ క్లస్టర్లపై వ్యవస్థీకృత, సెమీ స్ట్రక్చర్డ్ మరియు అన్స్ట్రక్చర్డ్ డేటా యొక్క భారీ వాల్యూమ్లను నిర్వహించడానికి ఒక సమాంతర ప్రోగ్రామింగ్ టెక్నిక్.
- HDFS – HDFS (హడూప్ డిస్ట్రిబ్యూటెడ్ ఫైల్ సిస్టమ్) అనేది డేటాను నిల్వ చేసే మరియు ప్రాసెస్ చేసే హడూప్ ఫ్రేమ్వర్క్ భాగం. ఇది ప్రామాణిక హార్డ్వేర్పై పనిచేసే తప్పు-తట్టుకునే ఫైల్ సిస్టమ్
హడూప్ పర్యావరణ వ్యవస్థలోని వివిధ ఉప-ప్రాజెక్టులు (సాధనాలు) హడూప్ మాడ్యూల్లకు సహాయం చేయడానికి స్క్వోప్, పిగ్ మరియు హైవ్తో సహా ఉపయోగించబడతాయి.
- అందులో నివశించే – హైవ్ అనేది MapReduce గణనలను నిర్వహించే SQL-శైలి స్క్రిప్ట్లను వ్రాయడానికి ఒక ఫ్రేమ్వర్క్.
- పిగ్ – Pig అనేది MapReduce ప్రక్రియల కోసం స్క్రిప్ట్ను రూపొందించడానికి ఉపయోగించే ఒక విధానపరమైన ప్రోగ్రామింగ్ భాష.
- స్కూప్ – Sqoop అనేది HDFS మరియు RDBMS మధ్య డేటాను దిగుమతి చేయడానికి మరియు ఎగుమతి చేయడానికి ఒక సాధనం.
ఏమిటి అపాచీ హైవ్?
అపాచీ హైవ్ ఒక ఓపెన్ సోర్స్ డేటా గిడ్డంగి అపాచీ హడూప్ డిస్ట్రిబ్యూటెడ్ ఫైల్ సిస్టమ్ (HDFS) లేదా Apache HBase వంటి ఇతర డేటా నిల్వ సిస్టమ్లలో నేరుగా నిల్వ చేయబడిన భారీ డేటా సెట్లను చదవడం, వ్రాయడం మరియు నిర్వహించడం కోసం ప్రోగ్రామ్.
సాధారణ SQL స్టేట్మెంట్లతో పోల్చదగిన డేటా ప్రశ్న మరియు విశ్లేషణ కోసం హైవ్ క్వెరీ లాంగ్వేజ్ (HQL) స్టేట్మెంట్లను రూపొందించడానికి SQL డెవలపర్లు హైవ్ని ఉపయోగించవచ్చు. సుదీర్ఘ జావా కోడ్ నేర్చుకోవడం మరియు వ్రాయడం అవసరం లేకుండా MapReduce ప్రోగ్రామింగ్ను సులభతరం చేయడానికి ఇది సృష్టించబడింది. బదులుగా, మీరు మీ ప్రశ్నలను HQLలో వ్రాయవచ్చు మరియు హైవ్ మ్యాప్ను నిర్మిస్తుంది మరియు మీ కోసం ఫంక్షన్లను తగ్గిస్తుంది.
అపాచీ హైవ్ యొక్క SQL-వంటి ఇంటర్ఫేస్ తాత్కాలిక శోధనలను నిర్వహించడానికి, హడూప్ డేటాను సంగ్రహించడానికి మరియు విశ్లేషించడానికి గోల్డ్ స్టాండర్డ్గా మారింది. క్లౌడ్లో చేర్చినప్పుడు కంప్యూటింగ్ నెట్వర్క్లు, ఈ పరిష్కారం ముఖ్యంగా ఖర్చుతో కూడుకున్నది మరియు కొలవదగినది, అందుకే నెట్ఫ్లిక్స్ మరియు అమెజాన్తో సహా అనేక సంస్థలు అపాచీ హైవ్ను అభివృద్ధి చేయడం మరియు మెరుగుపరచడం కొనసాగిస్తున్నాయి.
చరిత్ర
ఫేస్బుక్లో ఉన్న సమయంలో, జోయ్దీప్ సేన్ శర్మ మరియు ఆశిష్ తుసూ కలిసి అపాచీ హైవ్ని సృష్టించారు. హడూప్ నుండి ఎక్కువ ప్రయోజనం పొందడానికి, వారు కొన్ని సంక్లిష్టమైన జావా మ్యాప్-రిడ్యూస్ టాస్క్లను సృష్టించాలని వారిద్దరూ గుర్తించారు. కంపెనీ అంతటా హడూప్ను ప్రభావితం చేయడానికి అవసరమైన నైపుణ్యాలపై వారు వేగంగా విస్తరిస్తున్న ఇంజనీరింగ్ మరియు విశ్లేషణాత్మక బృందాలకు అవగాహన కల్పించలేరని వారు గుర్తించారు. ఇంజనీర్లు మరియు విశ్లేషకులు తరచుగా SQLని వినియోగదారు ఇంటర్ఫేస్గా ఉపయోగించారు.
SQL మెజారిటీ విశ్లేషణల అవసరాలను తీర్చగలిగినప్పటికీ, డెవలపర్లు హడూప్ యొక్క ప్రోగ్రామబిలిటీని కూడా చేర్చాలని భావించారు. అపాచీ హైవ్ ఈ రెండు లక్ష్యాల నుండి ఉద్భవించింది: SQL-ఆధారిత డిక్లరేటివ్ భాష, SQL సరిపోనప్పుడు డెవలపర్లు వారి స్వంత స్క్రిప్ట్లు మరియు ప్రోగ్రామ్లను తీసుకురావడానికి వీలు కల్పించింది.
డేటా-ఆధారిత సంస్థల నిర్మాణాన్ని సులభతరం చేయడానికి కంపెనీలోని అన్ని డేటాసెట్ల గురించి కేంద్రీకృత మెటాడేటా (హడూప్-ఆధారిత)ను ఉంచడానికి కూడా ఇది అభివృద్ధి చేయబడింది.
Apache Hive ఎలా పని చేస్తుంది?
క్లుప్తంగా, Apache Hive HiveQL (SQL-వంటి) భాషలో వ్రాసిన ఇన్పుట్ ప్రోగ్రామ్ను ఒకటి లేదా అంతకంటే ఎక్కువ Java MapReduce, Tez లేదా Spark టాస్క్లుగా మారుస్తుంది. (ఈ ఎగ్జిక్యూషన్ ఇంజన్లన్నీ హడూప్ యార్న్కి అనుకూలంగా ఉంటాయి.) ఆ తర్వాత, అపాచీ హైవ్ డేటాను హడూప్ డిస్ట్రిబ్యూటెడ్ ఫైల్ సిస్టమ్ HDFS కోసం టేబుల్లుగా అమర్చుతుంది మరియు సమాధానాన్ని పొందడానికి క్లస్టర్లో విధులను నిర్వహిస్తుంది.
సమాచారం
అపాచీ హైవ్ టేబుల్లు రిలేషనల్ డేటాబేస్లోని టేబుల్లు నిర్వహించబడిన విధంగానే అమర్చబడి ఉంటాయి, డేటా యూనిట్లు పెద్దవి నుండి చిన్నవి వరకు ఉంటాయి. డేటాబేస్లు డివిజన్లుగా విభజించబడిన పట్టికలతో రూపొందించబడ్డాయి, ఇవి మరింత బకెట్లుగా విభజించబడ్డాయి. HiveQL (హైవ్ క్వెరీ లాంగ్వేజ్) డేటాను యాక్సెస్ చేయడానికి ఉపయోగించబడుతుంది, దానిని మార్చవచ్చు లేదా జోడించవచ్చు. ప్రతి డేటాబేస్లో టేబుల్ డేటా సీరియల్ చేయబడింది మరియు ప్రతి టేబుల్ దాని స్వంత HDFS డైరెక్టరీని కలిగి ఉంటుంది.
ఆర్కిటెక్చర్
ఇప్పుడు మనం హైవ్ ఆర్కిటెక్చర్ యొక్క అత్యంత ముఖ్యమైన అంశం గురించి మాట్లాడుతాము. అపాచీ హైవ్ యొక్క భాగాలు క్రింది విధంగా ఉన్నాయి:
మెటాస్టోర్ — ఇది ప్రతి పట్టిక గురించి దాని నిర్మాణం మరియు స్థానం వంటి సమాచారాన్ని ట్రాక్ చేస్తుంది. విభజన మెటాడేటా కూడా హైవ్లో చేర్చబడింది. ఇది క్లస్టర్లో విస్తరించిన విభిన్న డేటా సెట్ల పురోగతిని ట్రాక్ చేయడానికి డ్రైవర్ను అనుమతిస్తుంది. డేటా సాంప్రదాయ RDBMS ఆకృతిలో నిల్వ చేయబడుతుంది. డేటాను ట్రాక్ చేయడానికి డ్రైవర్కు హైవ్ మెటాడేటా చాలా ముఖ్యమైనది. బ్యాకప్ సర్వర్ డేటాను క్రమ పద్ధతిలో డూప్లికేట్ చేస్తుంది, తద్వారా డేటా నష్టం జరిగినప్పుడు దాన్ని తిరిగి పొందవచ్చు.
డ్రైవర్ – HiveQL స్టేట్మెంట్లు డ్రైవర్ ద్వారా స్వీకరించబడతాయి, ఇది కంట్రోలర్గా పనిచేస్తుంది. సెషన్లను ఏర్పాటు చేయడం ద్వారా, డ్రైవర్ ప్రకటన యొక్క అమలును ప్రారంభిస్తాడు. ఇది ఎగ్జిక్యూటివ్ యొక్క జీవితకాలం మరియు పురోగతిని ట్రాక్ చేస్తుంది. HiveQL స్టేట్మెంట్ అమలు సమయంలో, డ్రైవర్ అవసరమైన మెటాడేటాను సేవ్ చేస్తుంది. ఇది తగ్గించు ప్రక్రియను అనుసరించి డేటా లేదా ప్రశ్న ఫలితాన్ని సేకరించే పాయింట్గా కూడా పనిచేస్తుంది.
కంపైలర్ - ఇది HiveQL ప్రశ్న సంకలనాన్ని అమలు చేస్తుంది. ప్రశ్న ఇప్పుడు ఎగ్జిక్యూషన్ ప్లాన్గా మార్చబడింది. పనులు ప్రణాళికలో జాబితా చేయబడ్డాయి. ఇది ప్రశ్న ద్వారా అనువదించబడిన ఫలితాన్ని పొందేందుకు MapReduce తప్పనిసరిగా తీసుకోవలసిన దశలను కూడా కలిగి ఉంటుంది. హైవ్ కంపైలర్ (AST) ద్వారా ప్రశ్న అబ్స్ట్రాక్ట్ సింటాక్స్ ట్రీగా మార్చబడింది. అనుకూలత మరియు కంపైల్-టైమ్ ఫాల్ట్ల (DAG) కోసం తనిఖీ చేసిన తర్వాత ASTని డైరెక్టెడ్ ఎసిక్లిక్ గ్రాఫ్గా మారుస్తుంది.
ఆప్టిమైజర్ - ఇది ఎగ్జిక్యూషన్ ప్లాన్లో విభిన్న మార్పులను చేయడం ద్వారా DAGని ఆప్టిమైజ్ చేస్తుంది. ఇది మెరుగైన సామర్థ్యం కోసం పరివర్తనలను మిళితం చేస్తుంది, ఉదాహరణకు చేరిన పైప్లైన్ను ఒకే జాయింట్గా మార్చడం. వేగాన్ని మెరుగుపరచడానికి, ఆప్టిమైజర్ తగ్గింపు ఆపరేషన్ చేయడానికి ముందు డేటాకు పరివర్తనను వర్తింపజేయడం వంటి కార్యకలాపాలను విభజించవచ్చు.
కార్యనిర్వాహణాధికారి – సంకలనం మరియు ఆప్టిమైజేషన్ పూర్తయినప్పుడు కార్యనిర్వాహకుడు టాస్క్లను అమలు చేస్తాడు. కార్యనిర్వాహకుడి ద్వారా ఉద్యోగాలు పైప్లైన్ చేయబడతాయి.
CLI, UI మరియు పొదుపు సర్వర్ – కమాండ్-లైన్ ఇంటర్ఫేస్ (CLI) అనేది హైవ్తో కమ్యూనికేట్ చేయడానికి బాహ్య వినియోగదారుని అనుమతించే వినియోగదారు ఇంటర్ఫేస్. హైవ్ యొక్క పొదుపు సర్వర్, JDBC లేదా ODBC ప్రోటోకాల్ల మాదిరిగానే, బాహ్య క్లయింట్లను నెట్వర్క్ ద్వారా హైవ్తో కమ్యూనికేట్ చేయడానికి అనుమతిస్తుంది.
సెక్యూరిటీ
Apache Hive హడూప్ భద్రతతో అనుసంధానించబడింది, ఇది క్లయింట్-సర్వర్ పరస్పర ప్రమాణీకరణ కోసం Kerberosని ఉపయోగిస్తుంది. అపాచీ హైవ్లో కొత్తగా రూపొందించబడిన ఫైల్లకు HDFS అనుమతులను నిర్దేశిస్తుంది, ఇది వినియోగదారు, సమూహం మరియు ఇతరులచే ఆమోదించడానికి మిమ్మల్ని అనుమతిస్తుంది.
కీ ఫీచర్లు
- హైవ్ బాహ్య పట్టికలకు మద్దతు ఇస్తుంది, ఇది HDFSలో నిల్వ చేయకుండా డేటాను ప్రాసెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
- ఇది వేగాన్ని పెంచడానికి పట్టిక స్థాయిలో డేటా విభజనను కూడా ప్రారంభిస్తుంది.
- అపాచీ హైవ్ హడూప్ యొక్క తక్కువ-స్థాయి ఇంటర్ఫేస్ అవసరాన్ని అద్భుతంగా తీరుస్తుంది.
- హైవ్ డేటా సారాంశం, ప్రశ్నించడం మరియు విశ్లేషణను సులభతరం చేస్తుంది.
- HiveQLకి ప్రోగ్రామింగ్ నైపుణ్యాలు అవసరం లేదు; SQL ప్రశ్నలపై సాధారణ అవగాహన సరిపోతుంది.
- డేటా విశ్లేషణ కోసం తాత్కాలిక ప్రశ్నలను నిర్వహించడానికి మేము హైవ్ని కూడా ఉపయోగించవచ్చు.
- ఇది కొలవదగినది, సుపరిచితమైనది మరియు అనుకూలమైనది.
- HiveQLకి ప్రోగ్రామింగ్ నైపుణ్యాలు అవసరం లేదు; SQL ప్రశ్నలపై సాధారణ అవగాహన సరిపోతుంది.
ప్రయోజనాలు
Apache Hive ఎండ్-ఆఫ్-డే నివేదికలు, రోజువారీ లావాదేవీల మూల్యాంకనాలు, తాత్కాలిక శోధనలు మరియు డేటా విశ్లేషణ కోసం అనుమతిస్తుంది. Apache Hive అందించిన సమగ్ర అంతర్దృష్టులు గణనీయమైన పోటీ ప్రయోజనాలను అందిస్తాయి మరియు మీరు మార్కెట్ డిమాండ్లకు ప్రతిస్పందించడాన్ని సులభతరం చేస్తాయి.
అటువంటి సమాచారాన్ని తక్షణమే అందుబాటులో ఉంచడం వల్ల కలిగే కొన్ని ప్రయోజనాలు ఇక్కడ ఉన్నాయి:
- వాడుకలో సౌలభ్యత – దాని SQL-వంటి భాషతో, డేటాను ప్రశ్నించడం అర్థం చేసుకోవడం సులభం.
- వేగవంతమైన డేటా చొప్పించడం — అపాచీ హైవ్ టేబుల్ రకం లేదా స్కీమా డెఫినిషన్ను ధృవీకరించకుండానే స్కీమాను చదువుతుంది కాబట్టి, డేటాబేస్ యొక్క అంతర్గత ఆకృతిలో డేటాను డిస్క్కి చదవడం, అన్వయించడం మరియు సీరియల్ చేయడం అవసరం లేదు. దీనికి విరుద్ధంగా, సంప్రదాయ డేటాబేస్లో, డేటా జోడించిన ప్రతిసారీ తప్పనిసరిగా ధృవీకరించబడాలి.
- సుపీరియర్ స్కేలబిలిటీ, ఫ్లెక్సిబిలిటీ మరియు ఖర్చు-ప్రభావం – డేటా HDFSలో నిల్వ చేయబడినందున, అపాచీ హైవ్ 100ల పెటాబైట్ల డేటాను కలిగి ఉంటుంది, ఇది సాధారణ డేటాబేస్ కంటే చాలా ఎక్కువ స్కేలబుల్ ఎంపికగా మారుతుంది. అపాచీ హైవ్, క్లౌడ్-ఆధారిత హడూప్ సేవగా, మారుతున్న పనిభారాన్ని తీర్చడానికి వర్చువల్ సర్వర్లను వేగంగా పైకి క్రిందికి తిప్పడానికి కస్టమర్లను అనుమతిస్తుంది.
- విస్తృతమైన పని సామర్థ్యం - పెద్ద డేటాసెట్లు గంటకు 100,000 ప్రశ్నలను నిర్వహించవచ్చు.
పరిమితులు
- సాధారణంగా, అపాచీ హైవ్ ప్రశ్నలు చాలా ఎక్కువ జాప్యాన్ని కలిగి ఉంటాయి.
- సబ్క్వెరీ మద్దతు పరిమితం.
- అపాచీ హైవ్లో నిజ-సమయ ప్రశ్నలు మరియు వరుస-స్థాయి మార్పులు అందుబాటులో లేవు.
- సాకారమైన వీక్షణలకు మద్దతు లేదు.
- హైవ్లో, అప్డేట్ మరియు తొలగింపు చర్యలకు మద్దతు లేదు.
- OLTP (ఆన్లైన్ పరివర్తన ప్రక్రియ) కోసం ఉద్దేశించబడలేదు.
అపాచీ హైవ్తో ప్రారంభించడం
Apache Hive అనేది మీ వర్క్ఫ్లోలను సులభతరం చేసే మరియు క్రమబద్ధీకరించే బలమైన హడూప్ భాగస్వామి. అపాచీ హైవ్ నుండి ఎక్కువ ప్రయోజనం పొందడానికి, అతుకులు లేని ఏకీకరణ అవసరం. కు వెళ్లడం మొదటి దశ వెబ్సైట్.
1. స్థిరమైన విడుదల నుండి ఇన్స్టాలేషన్ హైవ్
అపాచీ డౌన్లోడ్ మిర్రర్లలో ఒకదాని నుండి హైవ్ యొక్క అత్యంత ఇటీవలి స్థిరమైన విడుదలను డౌన్లోడ్ చేయడం ద్వారా ప్రారంభించండి (చూడండి హైవ్ విడుదలలు) ఆ తర్వాత టార్బాల్ను అన్ప్యాక్ చేయాలి. ఇది hive-xyz అనే సబ్ఫోల్డర్ను సృష్టిస్తుంది (ఇక్కడ xyz అనేది విడుదల సంఖ్య):
ఇన్స్టాలేషన్ డైరెక్టరీకి పాయింట్ చేయడానికి ఎన్విరాన్మెంట్ వేరియబుల్ HIVE_HOMEని సెట్ చేయండి:
చివరగా, మీకు $HIVE_HOME/బిన్ని జోడించండి PATH
:
2. అందులో నివశించే తేనెటీగలు నడుస్తున్నాయి
హైవ్ హడూప్ని ఉపయోగిస్తుంది, కాబట్టి:
- మీ మార్గంలో తప్పనిసరిగా హడూప్ ఉండాలి లేదా
3. DLL ఆపరేషన్
అందులో నివశించే తేనెటీగ పట్టికను సృష్టిస్తోంది
రెండు నిలువు వరుసలతో పోక్స్ అనే పట్టికను రూపొందిస్తుంది, అందులో మొదటిది పూర్ణాంకం మరియు రెండవది స్ట్రింగ్.
పట్టికల ద్వారా బ్రౌజింగ్
అన్ని పట్టికలను జాబితా చేయడం
పట్టికలను మార్చడం మరియు వదలడం
పట్టిక పేర్లను మార్చవచ్చు మరియు నిలువు వరుసలను జోడించవచ్చు లేదా భర్తీ చేయవచ్చు:
డేటాను కాకుండా పట్టిక నిర్మాణాన్ని మాత్రమే మారుస్తున్నప్పుడు, ఇప్పటికే ఉన్న అన్ని నిలువు వరుసలను రీప్లేస్ కాలమ్లను భర్తీ చేయడం గమనించదగ్గ విషయం. పట్టికలో స్థానిక SerDeని తప్పనిసరిగా ఉపయోగించాలి. పట్టిక యొక్క స్కీమా నుండి నిలువు వరుసలను తీసివేయడానికి కూడా నిలువు వరుసలను భర్తీ చేయండి:
డ్రాపింగ్ టేబుల్స్
అపాచీ హైవ్లో అనేక అదనపు ఆపరేషన్లు మరియు ఫీచర్లు ఉన్నాయి, వీటిని మీరు అధికారిక వెబ్సైట్ని సందర్శించడం ద్వారా తెలుసుకోవచ్చు.
ముగింపు
హైవ్ డెఫినిషన్ అనేది అపాచీ హడూప్ పైన నిర్మించబడిన భారీ డేటాసెట్ల కోసం ప్రశ్నించడం మరియు విశ్లేషణ కోసం డేటా ప్రోగ్రామ్ ఇంటర్ఫేస్. నిపుణులు దీనిని ఇతర ప్రోగ్రామ్లు, సాధనాలు మరియు సాఫ్ట్వేర్ల కంటే ఎక్కువగా ఎంచుకుంటారు ఎందుకంటే ఇది ప్రధానంగా హైవ్ విస్తృతమైన డేటా కోసం రూపొందించబడింది మరియు ఉపయోగించడానికి సులభమైనది.
ఈ ట్యుటోరియల్ మీకు అపాచీ హైవ్తో కిక్స్టార్ట్ చేయడంలో సహాయపడుతుందని మరియు మీ వర్క్ఫ్లోలను మరింత సమర్థవంతంగా చేయడంలో సహాయపడుతుందని ఆశిస్తున్నాను. వ్యాఖ్యలలో మాకు తెలియజేయండి.
సమాధానం ఇవ్వూ