పిగ్ ప్రోగ్రామింగ్: హెచ్‌డిఎఫ్‌ఎస్ మోడ్‌లో యుడిఎఫ్‌తో అపాచీ పిగ్ స్క్రిప్ట్



పిగ్ ప్రోగ్రామింగ్: హెచ్‌డిఎఫ్‌ఎస్ మోడ్‌లో యుడిఎఫ్‌తో అపాచీ పిగ్ స్క్రిప్ట్. హెచ్‌డిఎఫ్‌ఎస్ మోడ్‌లో యుడిఎఫ్‌తో అపాచీ పిగ్ స్క్రిప్ట్‌ను అమలు చేయడానికి బ్లాగ్ పోస్ట్ ఇక్కడ ఉంది ...

మునుపటి బ్లాగ్ పోస్ట్‌లలో ఎలా ప్రారంభించాలో చూశాము పిగ్ ప్రోగ్రామింగ్ మరియు స్క్రిప్టింగ్ . మేము వ్రాయడానికి దశలను చూశాము HDFS మోడ్‌లో పిగ్ స్క్రిప్ట్ మరియు యుడిఎఫ్ లేకుండా. ఈ సిరీస్ యొక్క మూడవ భాగంలో పిగ్ స్క్రిప్ట్ రాయడానికి దశలను సమీక్షిస్తాము HDFS మోడ్‌లో UDF .

పిగ్ అంతర్నిర్మిత ఫంక్షన్ యొక్క కార్యాచరణను వివరించడానికి అంతర్నిర్మిత ఫంక్షన్లను సృష్టించడం ద్వారా పిగ్ యుడిఎఫ్‌ను ఎలా అమలు చేయాలో మేము వివరించాము. మంచి వివరణ కోసం, మేము రెండు అంతర్నిర్మిత ఫంక్షన్లను తీసుకున్నాము. మేము దీన్ని పిగ్ లిపి సహాయంతో చేసాము.





ఇక్కడ, మేము ఒక ఉదాహరణ తీసుకున్నాము మరియు మేము UDF (యూజర్ డిఫైన్డ్ ఫంక్షన్లు) రెండింటినీ ఉపయోగించాము, అనగా అప్పర్ కేసులో స్ట్రింగ్ తయారు చేసి విలువను తీసుకొని దాని శక్తిని పెంచుతాము.

డేటాసెట్ ఈ ఉదాహరణలో మనం ఉపయోగించబోయే క్రింద చిత్రీకరించబడింది:



table

ఎగువ సందర్భంలో 1 వ కాలమ్ అక్షరాన్ని తయారు చేయడం మరియు 3 వ కాలమ్ విలువతో 2 వ కాలమ్ యొక్క శక్తిని పెంచడం మా లక్ష్యం.

ప్రతి యుడిఎఫ్ కోసం జావా కోడ్ రాయడం ప్రారంభిద్దాం. సంకలన లోపాలను నివారించడానికి మన జావా ప్రాజెక్ట్‌లో 4 JAR లను కాన్ఫిగర్ చేయాలి.
మొదట, మేము జావా ప్రోగ్రామ్‌లను సృష్టిస్తాము, రెండూ క్రింద ఇవ్వబడ్డాయి:



ఎగువ.జావా

దిగుమతి java.io.IOException దిగుమతి org.apache.pig.EvalFunc దిగుమతి org.apache.pig.data.Tuple import org.apache.pig.impl.util.WrappedIOException upSuppressWarnings ('తరుగుదల') పబ్లిక్ క్లాస్ ఎగువ EvalFunc {public స్ట్రింగ్ ఎగ్జిక్యూట్ (టుపుల్ ఇన్పుట్) IOException {if (ఇన్పుట్ == శూన్య || input.size () == 0) తిరిగి శూన్య ప్రయత్నం {స్ట్రింగ్ str = (స్ట్రింగ్) input.get (0) str = str.toUpperCase () రిటర్న్ str} catch (మినహాయింపు ఇ) {త్రో WrappedIOException.wrap ('క్యాచ్ మినహాయింపు ప్రాసెసింగ్ ఇన్పుట్ వరుస', ఇ)}}}

పవర్.జావా

దిగుమతి java.io.IOException దిగుమతి org.apache.pig.EvalFunc దిగుమతి org.apache.pig.PigWarning దిగుమతి org.apache.pig.data. int base = (Integer) input.get (0) int exponent = (Integer) input.get (1) దీర్ఘ ఫలితం = 1 / * బహుశా అత్యంత సమర్థవంతమైన పద్ధతి కాదు ... * / for (int i = 0 i result) {// మేము పొంగిపొర్లుతున్నాము. ఒక హెచ్చరిక ఇవ్వండి, కానీ // మినహాయింపు ఇవ్వవద్దు. హెచ్చరించు ('ఓవర్‌ఫ్లో!', పిగ్‌వార్నింగ్. రిటర్న్ శూన్య}} రిటర్న్ రిజల్ట్} క్యాచ్ (మినహాయింపు ఇ) {// మినహాయింపు విసిరితే విధి విఫలమవుతుంది. క్రొత్త IOException ను విసిరేయండి ('ఏదో చెడు జరిగింది!', ఇ)}}}

సంకలన లోపాలను తొలగించడానికి, మేము కాన్ఫిగర్ చేయాలి 4 JAR లు మా జావా ప్రాజెక్ట్ లో.


JAR లను డౌన్‌లోడ్ చేయడానికి డౌన్‌లోడ్ బటన్ పై క్లిక్ చేయండి

.

ఇప్పుడు, మేము జావా కోడ్‌ల కోసం JAR ఫైల్‌లను ఎగుమతి చేస్తాము. దయచేసి JAR సృష్టి కోసం క్రింది దశలను తనిఖీ చేయండి.

ఇక్కడ, మేము ఒక ప్రోగ్రామ్ కోసం చూపించాము, తరువాతి ప్రోగ్రామ్‌లో కూడా అదే విధంగా కొనసాగండి.

JAR లు మరియు టెక్స్ట్ ఫైళ్ళను సృష్టించిన తరువాత, మేము మొత్తం డేటాను HDFS క్లస్టర్కు తరలించాము, ఇది క్రింది చిత్రాల ద్వారా వర్ణించబడింది:

మా డేటాసెట్‌లో, ఫీల్డ్‌లు కామా (,) వేరు చేయబడతాయి.

జావాలో తరగతి మార్గాన్ని సెట్ చేస్తుంది

ఫైల్ను తరలించిన తరువాత, మేము .pig పొడిగింపుతో స్క్రిప్ట్ ను సృష్టించాము మరియు అన్ని ఆదేశాలను ఆ స్క్రిప్ట్ ఫైల్ లో ఉంచాము.

ఇప్పుడు టెర్మినల్‌లో, PIG అని టైప్ చేసి, స్క్రిప్ట్ ఫైల్ పేరును కింది చిత్రంలో చూపండి:

ఇక్కడ, ఇది పిగ్ స్క్రిప్ట్‌ను అమలు చేయడానికి అవుట్‌పుట్.

మాకు ప్రశ్న ఉందా? దయచేసి వాటిని వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.

సంబంధిత పోస్ట్లు:

అపాచీ పిగ్‌లో యుడిఎఫ్‌ను రూపొందించడానికి చర్యలు

అపాచీ అందులో నివశించే తేనెటీగలు పరిచయం