స్పార్క్ గ్రాఫ్ఎక్స్ ట్యుటోరియల్ - అపాచీ స్పార్క్లో గ్రాఫ్ అనలిటిక్స్



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

గ్రాఫ్ఎక్స్ గ్రాఫ్‌లు మరియు గ్రాఫ్-సమాంతర గణన కోసం అపాచీ స్పార్క్ యొక్క API. గ్రాఫ్ఎక్స్ ఒకే వ్యవస్థలో ETL (ఎక్స్‌ట్రాక్ట్, ట్రాన్స్ఫార్మ్ & లోడ్) ప్రక్రియ, అన్వేషణాత్మక విశ్లేషణ మరియు పునరుక్తి గ్రాఫ్ గణనను ఏకీకృతం చేస్తుంది. ఫేస్బుక్ స్నేహితులు, లింక్డ్ఇన్ యొక్క కనెక్షన్లు, ఇంటర్నెట్ యొక్క రౌటర్లు, గెలాక్సీలు మరియు నక్షత్రాల మధ్య సంబంధాలు ఖగోళ భౌతిక శాస్త్రంలో మరియు గూగుల్ మ్యాప్స్‌లో గ్రాఫ్ల వాడకాన్ని చూడవచ్చు. గ్రాఫ్ గణన యొక్క భావన చాలా సరళంగా అనిపించినప్పటికీ, విపత్తుల గుర్తింపు, బ్యాంకింగ్, స్టాక్ మార్కెట్, బ్యాంకింగ్ మరియు భౌగోళిక వ్యవస్థలలో కొన్నింటికి ఉపయోగపడే కేసులతో గ్రాఫ్ల యొక్క అనువర్తనాలు అక్షరాలా అపరిమితమైనవి.ఈ API యొక్క ఉపయోగం నేర్చుకోవడం అనేది ఒక ముఖ్యమైన భాగం .ఈ బ్లాగ్ ద్వారా, మేము స్పార్క్ గ్రాఫ్ఎక్స్, దాని లక్షణాలు మరియు భాగాలను ఉదాహరణల ద్వారా నేర్చుకుంటాము మరియు గ్రాఫ్ఎక్స్ ఉపయోగించి ఫ్లైట్ డేటా అనలిటిక్స్ యొక్క పూర్తి వినియోగ కేసు ద్వారా వెళ్తాము.

మేము ఈ స్పార్క్ గ్రాఫ్ఎక్స్ బ్లాగులో ఈ క్రింది అంశాలను కవర్ చేస్తాము:





  1. గ్రాఫ్‌లు అంటే ఏమిటి?
  2. గ్రాఫ్ గణన యొక్క కేసులను ఉపయోగించండి
  3. స్పార్క్ గ్రాఫ్ఎక్స్ అంటే ఏమిటి?
  4. స్పార్క్ గ్రాఫ్ఎక్స్ ఫీచర్స్
  5. ఉదాహరణలతో గ్రాఫ్ఎక్స్ అర్థం చేసుకోవడం
  6. గ్రాఫ్ఎక్స్ ఉపయోగించి కేస్ - ఫ్లైట్ డేటా విశ్లేషణను ఉపయోగించండి

గ్రాఫ్‌లు అంటే ఏమిటి?

గ్రాఫ్ అనేది ఒక గణిత నిర్మాణం, ఇది వస్తువుల సమితికి సంబంధించినది, దీనిలో కొన్ని జతల వస్తువులు కొన్ని కోణంలో సంబంధం కలిగి ఉంటాయి. ఈ సంబంధాలను అంచులను మరియు శీర్షాలను ఉపయోగించి గ్రాఫ్‌ను రూపొందించవచ్చు. శీర్షాలు వస్తువులను సూచిస్తాయి మరియు అంచులు ఆ వస్తువుల మధ్య వివిధ సంబంధాలను చూపుతాయి.

గ్రాఫ్ కాన్సెప్ట్స్ - స్పార్క్ గ్రాఫ్ఎక్స్ ట్యుటోరియల్ - ఎడురేకామూర్తి: స్పార్క్ గ్రాఫ్ఎక్స్ ట్యుటోరియల్ - గ్రాఫ్స్‌లో శీర్షాలు, అంచులు మరియు ముగ్గులు



కంప్యూటర్ సైన్స్లో, గ్రాఫ్ అనేది ఒక నైరూప్య డేటా రకం, ఇది గణితం నుండి నిర్దేశించని గ్రాఫ్ మరియు దర్శకత్వం వహించిన గ్రాఫ్ భావనలను అమలు చేయడానికి ఉద్దేశించబడింది, ప్రత్యేకంగా గ్రాఫ్ సిద్ధాంతం యొక్క క్షేత్రం. గ్రాఫ్ డేటా నిర్మాణం ప్రతి అంచుతో కొన్నింటిని అనుబంధించవచ్చు అంచు విలువ సింబాలిక్ లేబుల్ లేదా సంఖ్యా లక్షణం (ఖర్చు, సామర్థ్యం, ​​పొడవు,మొదలైనవి).

గ్రాఫ్ గణన యొక్క కేసులను ఉపయోగించండి

కింది ఉపయోగ సందర్భాలు గ్రాఫ్ గణనపై ఒక దృక్పథాన్ని ఇస్తాయి మరియు గ్రాఫ్‌లను ఉపయోగించి ఇతర పరిష్కారాలను అమలు చేయడానికి మరింత అవకాశాన్ని ఇస్తాయి.

  1. విపత్తు గుర్తింపు వ్యవస్థ

    ప్రజలను అప్రమత్తం చేయడానికి హెచ్చరికలను అందించడానికి తుఫానులు, భూకంపాలు, సునామీ, అటవీ మంటలు మరియు అగ్నిపర్వతాలు వంటి విపత్తులను గుర్తించడానికి గ్రాఫ్లను ఉపయోగించవచ్చు.



  2. పేజీ ర్యాంక్ పేపర్-సైటేషన్ నెట్‌వర్క్ లేదా సోషల్ మీడియా నెట్‌వర్క్ వంటి ఏదైనా నెట్‌వర్క్‌లో ప్రభావశీలులను కనుగొనడంలో పేజ్ ర్యాంక్‌ను ఉపయోగించవచ్చు.
  3. ఆర్థిక మోసం గుర్తింపు

    ఆర్థిక లావాదేవీలను పర్యవేక్షించడానికి మరియు ఆర్థిక మోసం మరియు మనీలాండరింగ్‌కు పాల్పడిన వ్యక్తులను గుర్తించడానికి గ్రాఫ్ విశ్లేషణను ఉపయోగించవచ్చు.

  4. వ్యాపార విశ్లేషణ

    గ్రాఫ్‌లు, మెషిన్ లెర్నింగ్‌తో పాటు ఉపయోగించినప్పుడు, కస్టమర్ కొనుగోలు పోకడలను అర్థం చేసుకోవడంలో సహాయపడుతుంది. ఉదా. ఉబెర్, మెక్‌డొనాల్డ్స్ మొదలైనవి.

  5. భౌగోళిక సమాచార వ్యవస్థలు

    వాటర్‌షెడ్ డెలినేషన్ మరియు వాతావరణ అంచనా వంటి భౌగోళిక సమాచార వ్యవస్థలపై కార్యాచరణను అభివృద్ధి చేయడానికి గ్రాఫ్‌లు తీవ్రంగా ఉపయోగించబడతాయి.

  6. గూగుల్ ప్రిగెల్

    ప్రీగెల్ అనేది గూగుల్ యొక్క స్కేలబుల్ మరియు తప్పు-తట్టుకోగల ప్లాట్‌ఫారమ్, ఇది ఏకపక్ష గ్రాఫ్‌ను వ్యక్తీకరించడానికి తగినంత సరళమైనదిఅల్గోరిథంలు.

స్పార్క్ గ్రాఫ్ఎక్స్ అంటే ఏమిటి?

గ్రాఫ్ఎక్స్ గ్రాఫ్‌లు మరియు గ్రాఫ్-సమాంతర గణన కోసం స్పార్క్ API. గ్రాఫ్ అనలిటిక్స్ పనులను సరళీకృతం చేయడానికి గ్రాఫ్ అల్గోరిథంలు మరియు బిల్డర్ల పెరుగుతున్న సేకరణ ఇందులో ఉంది.


గ్రాఫ్ఎక్స్ స్పార్క్ RDD ని స్థితిస్థాపక పంపిణీ ఆస్తి గ్రాఫ్‌తో విస్తరించింది.
ప్రాపర్టీ గ్రాఫ్ అనేది దర్శకత్వం వహించిన మల్టీగ్రాఫ్, ఇది సమాంతరంగా బహుళ అంచులను కలిగి ఉంటుంది. ప్రతి అంచు మరియు శీర్షంతో సంబంధం ఉన్న వినియోగదారు నిర్వచించిన లక్షణాలు ఉంటాయి. సమాంతర అంచులు బహుళ అనుమతిస్తాయిఒకే శీర్షాల మధ్య సంబంధాలు.

స్పార్క్ గ్రాఫ్ఎక్స్ ఫీచర్స్

స్పార్క్ గ్రాఫ్ఎక్స్ యొక్క లక్షణాలు క్రిందివి:

  1. వశ్యత :
    స్పార్క్ గ్రాఫ్ఎక్స్ గ్రాఫ్‌లు మరియు గణనలతో పనిచేస్తుంది. గ్రాఫ్ఎక్స్ ఒకే వ్యవస్థలో ETL (ఎక్స్‌ట్రాక్ట్, ట్రాన్స్ఫార్మ్ & లోడ్), అన్వేషణాత్మక విశ్లేషణ మరియు పునరుక్తి గ్రాఫ్ గణనను ఏకీకృతం చేస్తుంది. మేము గ్రాఫ్‌లు మరియు సేకరణలు రెండింటినీ పోలిన డేటాను చూడవచ్చు, RDD లతో గ్రాఫ్‌లను సమర్థవంతంగా మార్చవచ్చు మరియు చేరవచ్చు మరియు ప్రీగెల్ API ని ఉపయోగించి కస్టమ్ ఇరేరేటివ్ గ్రాఫ్ అల్గారిథమ్‌లను వ్రాయవచ్చు.
  2. వేగం :
    స్పార్క్ గ్రాఫ్ఎక్స్ వేగవంతమైన ప్రత్యేకమైన గ్రాఫ్ ప్రాసెసింగ్ సిస్టమ్స్‌తో పోల్చదగిన పనితీరును అందిస్తుంది. స్పార్క్ యొక్క వశ్యత, తప్పు సహనం మరియు వాడుకలో సౌలభ్యాన్ని నిలుపుకుంటూ ఇది వేగవంతమైన గ్రాఫ్ వ్యవస్థలతో పోల్చబడుతుంది.
  3. పెరుగుతున్న అల్గోరిథం లైబ్రరీ :
    స్పార్క్ గ్రాఫ్ఎక్స్ అందించే గ్రాఫ్ అల్గోరిథంల పెరుగుతున్న లైబ్రరీ నుండి మనం ఎంచుకోవచ్చు. పేజ్ ర్యాంక్, కనెక్ట్ చేయబడిన భాగాలు, లేబుల్ ప్రచారం, SVD ++, గట్టిగా కనెక్ట్ చేయబడిన భాగాలు మరియుత్రిభుజం గణన.

ఉదాహరణలతో గ్రాఫ్ఎక్స్ అర్థం చేసుకోవడం

మేము ఇప్పుడు ఒక ఉదాహరణను ఉపయోగించి స్పార్క్ గ్రాఫ్ఎక్స్ యొక్క భావనలను అర్థం చేసుకుంటాము. దిగువ చిత్రంలో చూపిన విధంగా సాధారణ గ్రాఫ్‌ను పరిశీలిద్దాం.

మూర్తి: స్పార్క్ గ్రాఫ్ఎక్స్ ట్యుటోరియల్ - గ్రాఫ్ ఉదాహరణ

గ్రాఫ్‌ను చూస్తే, మేము వ్యక్తుల (శీర్షాలు) మరియు వారి మధ్య సంబంధాలు (అంచులు) గురించి సమాచారాన్ని సేకరించవచ్చు. ఇక్కడ ఉన్న గ్రాఫ్ ట్విట్టర్ వినియోగదారులను సూచిస్తుంది మరియు వారు ట్విట్టర్‌లో ఎవరిని అనుసరిస్తారు. ఉదా. బాబ్ ట్విట్టర్‌లో డేవిడ్ మరియు ఆలిస్‌లను అనుసరిస్తాడు.

అపాచీ స్పార్క్ ఉపయోగించి అదే అమలు చేద్దాం. మొదట, మేము గ్రాఫ్ఎక్స్ కోసం అవసరమైన తరగతులను దిగుమతి చేస్తాము.

// అవసరమైన తరగతులను దిగుమతి చేసుకోవడం org.apache.spark._ దిగుమతి org.apache.spark.rdd.RDD దిగుమతి org.apache.spark.util.IntParam దిగుమతి org.apache.spark.graphx._ దిగుమతి org.apache.spark .graphx.util.GraphGenerator

శీర్షాలను ప్రదర్శిస్తోంది :ఇంకా, మేము ఇప్పుడు వినియోగదారుల పేర్లు మరియు వయస్సులన్నింటినీ ప్రదర్శిస్తాము (శీర్షాలు).

val vertexRDD: RDD [(పొడవైన, (స్ట్రింగ్, Int))] = sc.parallelize (vertexArray) val edgeRDD: RDD [Edge [Int]] = sc.parallelize (edgeArray) val graph: గ్రాఫ్ [(స్ట్రింగ్, Int), Int] = గ్రాఫ్ (vertexRDD, edgeRDD) graph.vertices.filter {case (id, (name, age)) => వయస్సు> 30} .collect.foreach {case (id, (name, age)) => println ( s '$ పేరు $ వయస్సు')}

పై కోడ్ యొక్క అవుట్పుట్ క్రింద ఉంది:

డేవిడ్ఉంది42 ఫ్రాన్ఉందియాభై ఎడ్ఉంది55 చార్లీఉంది65

అంచులను ప్రదర్శిస్తోంది : ట్విట్టర్‌లో ఎవరిని ఇష్టపడుతున్నారో చూద్దాం.

కోసం (త్రిపాది<- graph.triplets.collect) { println(s'${triplet.srcAttr._1} likes ${triplet.dstAttr._1}') } 

పై కోడ్ యొక్క అవుట్పుట్ క్రింద ఉంది:

బాబ్ఇష్టాలుఆలిస్ బాబ్ఇష్టాలుడేవిడ్ చార్లీఇష్టాలుబాబ్ చార్లీఇష్టాలుఫ్రాన్ డేవిడ్ఇష్టాలుఆలిస్ ఎడ్ఇష్టాలుబాబ్ ఎడ్ఇష్టాలుచార్లీ ఎడ్ఇష్టాలుఫ్రాన్

ఇప్పుడు మేము గ్రాఫ్ఎక్స్ యొక్క ప్రాథమికాలను అర్థం చేసుకున్నాము, కొంచెం లోతుగా డైవ్ చేసి, అదే విధంగా కొన్ని అధునాతన గణనలను చేద్దాం.

అనుచరుల సంఖ్య : మా గ్రాఫ్‌లోని ప్రతి వినియోగదారుకు వేరే సంఖ్యలో అనుచరులు ఉన్నారు. ప్రతి యూజర్ కోసం అనుచరులందరినీ చూద్దాం.

// యూజర్ ప్రాపర్టీ కేస్ క్లాస్ యూజర్ (పేరు: స్ట్రింగ్, వయసు: Int, inDeg: Int, outDeg: Int) // ఒక వినియోగదారుని సృష్టించడం గ్రాఫ్ వాల్ ప్రారంభ యూజర్‌గ్రాఫ్: గ్రాఫ్ [యూజర్, Int] = గ్రాఫ్. mapVertices {case (id, (name, age)) => వాడుకరి (పేరు, వయస్సు, 0, 0)} // డిగ్రీ సమాచారాన్ని నింపడం val userGraph = initialUserGraph.outerJoinVertices (initialUserGraph.inDegrees) {case (id, u, inDegOpt) => వాడుకరి (u.name, u.age, inDegOpt.getOrElse (0), u.outDeg)} .outerJoinVertices (initialUserGraph.outDegrees) {case (id, u, outDegOpt) => వాడుకరి (u.name, (ఐడి, ఆస్తి) కోసం u.age, u.inDeg, outDegOpt.getOrElse (0))}<- userGraph.vertices.collect) { println(s'User $id is called ${property.name} and is liked by ${property.inDeg} people.') } 

పై కోడ్ యొక్క అవుట్పుట్ క్రింద ఉంది:

వినియోగదారు ఒకటిఅంటారుఆలిస్మరియు ఇష్టపడతారు2ప్రజలు. వినియోగదారు 2అంటారుబాబ్మరియు ఇష్టపడతారు2ప్రజలు. వినియోగదారు 3అంటారుచార్లీమరియు ఇష్టపడతారుఒకటిప్రజలు. వినియోగదారు 4అంటారుడేవిడ్మరియు ఇష్టపడతారుఒకటిప్రజలు. వినియోగదారు 5అంటారుఎడ్మరియు ఇష్టపడతారు0ప్రజలు. వినియోగదారు 6అంటారుఫ్రాన్మరియు ఇష్టపడతారు2ప్రజలు.

పురాతన అనుచరులు : మేము అనుచరులను వారి లక్షణాల ప్రకారం క్రమబద్ధీకరించవచ్చు. వయస్సు ప్రకారం ప్రతి యూజర్ యొక్క పురాతన అనుచరులను కనుగొందాం.

// ప్రతి యూజర్ కోసం పురాతన అనుచరుడిని కనుగొనడం oldestFollower: VertexRDD [(స్ట్రింగ్, Int)] = userGraph.mapReduceTriplets [(స్ట్రింగ్, Int)] (// ప్రతి అంచుకు మూలం యొక్క లక్షణంతో గమ్యం శీర్షానికి సందేశాన్ని పంపండి vertex edge => Iterator ((edge.dstId, (edge.srcAttr.name, edge.srcAttr.age))), // సందేశాలను కలపడానికి పాత అనుచరుడి కోసం సందేశాన్ని తీసుకోండి (a, b) => if (a. _2> బి ._2) వేరే బి)

పై కోడ్ యొక్క అవుట్పుట్ క్రింద ఉంది:

డేవిడ్యొక్క పురాతన అనుచరుడుఆలిస్. చార్లీయొక్క పురాతన అనుచరుడుబాబ్. ఎడ్యొక్క పురాతన అనుచరుడుచార్లీ. బాబ్యొక్క పురాతన అనుచరుడుడేవిడ్. ఎడ్అనుచరులు లేరు. చార్లీయొక్క పురాతన అనుచరుడుఫ్రాన్. 

కేస్ ఉపయోగించండి: స్పార్క్ గ్రాఫ్ఎక్స్ ఉపయోగించి ఫ్లైట్ డేటా విశ్లేషణ

ఇప్పుడు మేము స్పార్క్ గ్రాఫ్ఎక్స్ యొక్క ముఖ్య అంశాలను అర్థం చేసుకున్నాము, గ్రాఫ్ఎక్స్ ఉపయోగించి నిజ జీవిత సమస్యను పరిష్కరిద్దాం. భవిష్యత్తులో ఏదైనా స్పార్క్ ప్రాజెక్టులలో పని చేయగల విశ్వాసాన్ని ఇవ్వడానికి ఇది మాకు సహాయపడుతుంది.

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

చేయవలసిన కేసు - గణనలను ఉపయోగించండి :

  1. విమాన మార్గాల మొత్తం సంఖ్యను లెక్కించండి
  2. పొడవైన విమాన మార్గాలను లెక్కించండి మరియు క్రమబద్ధీకరించండి
  3. అత్యధిక డిగ్రీ శీర్షంతో విమానాశ్రయాన్ని ప్రదర్శించండి
  4. పేజ్‌రాంక్ ప్రకారం అతి ముఖ్యమైన విమానాశ్రయాలను జాబితా చేయండి
  5. అతి తక్కువ విమాన ఖర్చులతో మార్గాలను జాబితా చేయండి

పై గణనల కోసం మేము స్పార్క్ గ్రాఫ్ఎక్స్ ఉపయోగిస్తాము మరియు గూగుల్ డేటా స్టూడియోని ఉపయోగించి ఫలితాలను దృశ్యమానం చేస్తాము.

కేస్ - డేటాసెట్ ఉపయోగించండి :

మూర్తి: కేస్ ఉపయోగించండి - USA ఫ్లైట్ డేటాసెట్

కేస్ - ఫ్లో రేఖాచిత్రం ఉపయోగించండి :

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

మూర్తి: స్పార్క్ గ్రాఫ్ఎక్స్ ఉపయోగించి ఫ్లైట్ డేటా విశ్లేషణ యొక్క కేస్ - ఫ్లో రేఖాచిత్రం ఉపయోగించండి

సంఖ్యను రివర్స్ చేయడం ఎలా

కేస్ ఉపయోగించండి - స్పార్క్ అమలు :

ముందుకు వెళుతున్నప్పుడు, ఇప్పుడు స్పార్క్ కోసం ఎక్లిప్స్ IDE ని ఉపయోగించి మా ప్రాజెక్ట్ను అమలు చేద్దాం.

దిగువ నకిలీ కోడ్‌ను కనుగొనండి:

// అవసరమైన తరగతులను దిగుమతి చేసుకోవడం org.apache.spark._ ... దిగుమతి java.io.File ఆబ్జెక్ట్ విమానాశ్రయం {def main (args: Array [string]) {// కేస్ క్లాస్ ఫ్లైట్ కేస్ క్లాస్ ఫ్లైట్ సృష్టిస్తోంది (dofM: స్ట్రింగ్, dofW: స్ట్రింగ్, ..., dist: Int) // ఫ్లైట్ క్లాస్ డెఫ్ పార్స్ ఫ్లైట్ (స్ట్రింగ్: స్ట్రింగ్) లోకి ఇన్పుట్ అన్వయించడానికి పార్స్ స్ట్రింగ్ ఫంక్షన్‌ను నిర్వచించడం: ఫ్లైట్ = {వాల్ లైన్ = str.split (',') ఫ్లైట్ (పంక్తి (0), పంక్తి (1), ..., పంక్తి (16) .ఇది)} val conf = new SparkConf (). setAppName ('విమానాశ్రయం'). setMaster ('local [2]') val sc = new SparkContext (conf) // డేటాను RDD val textDRDD = sc.textFile ('/ home / edureka / usecases / విమానాశ్రయం / విమానాశ్రయ డేటాసెట్. csv') లోకి లోడ్ చేయండి // CSV పంక్తుల RDD ని విమాన తరగతుల RDD లోకి అన్వయించండి ఫ్లైట్స్ఆర్డిడి = టెక్స్ట్ ఆర్డిడికి మ్యాప్ పార్స్ ఫ్లైట్ val విమానాశ్రయ మ్యాప్ = మ్యాప్ ఫంక్షన్‌ను ఉపయోగించండి .collect.toList.toMap // మార్గాలను సృష్టించండి RDD sourceID, destinationID మరియు దూర విలువ మార్గాలతో = flightsRDD. మ్యాప్ ఫంక్షన్‌ను ఉపయోగించండి .విశ్లేషించిన మార్గాలు. టేక్ (2) // సోర్స్ ఐడి, డెస్టినేషన్ ఐడి మరియు దూర విలువ అంచులతో ఆర్డిడిని సృష్టించండి = మార్గాలు. edges.take (1) // గ్రాఫ్‌ను నిర్వచించండి మరియు కొన్ని శీర్షాలు మరియు అంచులను ప్రదర్శించండి val graph = గ్రాఫ్ (విమానాశ్రయాలు, అంచులు మరియు ఎక్కడా) graph.vertices.take (2) graph.edges.take (2) // ప్రశ్న 1 - కనుగొనండి విమానాశ్రయాల మొత్తం సంఖ్య val numairports = శీర్షాల సంఖ్య // ప్రశ్న 2 - మొత్తం మార్గాల సంఖ్యను లెక్కించాలా? val numroutes = అంచుల సంఖ్య // ప్రశ్న 3 - 1000 మైళ్ళ కంటే ఎక్కువ దూరాలతో ఆ మార్గాలను లెక్కించండి graph.edges.filter the అంచు దూరాన్ని పొందండి) => దూరం> 1000}. టేక్ (3) // అదేవిధంగా స్కేలా కోడ్ రాయండి దిగువ ప్రశ్నలు // ప్రశ్న 4 - పొడవైన మార్గాలను క్రమబద్ధీకరించండి మరియు ముద్రించండి // ప్రశ్న 5 - విమానాశ్రయాల యొక్క ఇన్కమింగ్ మరియు అవుట్గోయింగ్ విమానాల కోసం అత్యధిక డిగ్రీ శీర్షాలను ప్రదర్శించండి // ప్రశ్న 6 - విమానాశ్రయం పేరును ఐడిలతో పొందండి 10397 మరియు 12478 // ప్రశ్న 7 - కనుగొనండి అత్యధిక ఇన్కమింగ్ విమానాలతో విమానాశ్రయం // ప్రశ్న 8 - అత్యధిక అవుట్గోయింగ్ విమానాలతో విమానాశ్రయాన్ని కనుగొనండి // ప్రశ్న 9 - పేజ్ ర్యాంక్ ప్రకారం అతి ముఖ్యమైన విమానాశ్రయాలను కనుగొనండి // ప్రశ్న 10 - ర్యాంకింగ్ ద్వారా విమానాశ్రయాలను క్రమబద్ధీకరించండి // ప్రశ్న 11 - ఎక్కువ ప్రదర్శించండి ముఖ్యమైన విమానాశ్రయాలు // ప్రశ్న 12 - అతి తక్కువ విమాన ఖర్చులతో మార్గాలను కనుగొనండి // ప్రశ్న 13 - విమానాశ్రయాలను మరియు వాటి అతి తక్కువ విమాన ఖర్చులను కనుగొనండి // ప్రశ్న 14 - క్రమబద్ధీకరించిన అతి తక్కువ విమాన ఖర్చులతో పాటు విమానాశ్రయ కోడ్‌లను ప్రదర్శించండి

కేసును ఉపయోగించండి - ఫలితాలను విజువలైజ్ చేస్తుంది :

మా విశ్లేషణను దృశ్యమానం చేయడానికి మేము Google డేటా స్టూడియోని ఉపయోగిస్తాము. గూగుల్ డేటా స్టూడియో అనేది గూగుల్ అనలిటిక్స్ 360 సూట్ కింద ఒక ఉత్పత్తి. యుఎస్ఎ మ్యాప్‌లో విమానాశ్రయాలను ఆయా ప్రదేశాలలో మ్యాప్ చేయడానికి మరియు కొలమానాల పరిమాణాన్ని ప్రదర్శించడానికి మేము జియో మ్యాప్ సేవను ఉపయోగిస్తాము.

  1. విమానాశ్రయానికి మొత్తం విమానాల సంఖ్యను ప్రదర్శించండి
  2. ప్రతి విమానాశ్రయం నుండి గమ్యం మార్గాల మెట్రిక్ మొత్తాన్ని ప్రదర్శించండి
  3. విమానాశ్రయానికి అన్ని విమానాల ఆలస్యాన్ని ప్రదర్శించండి

ఇప్పుడు, ఇది స్పార్క్ గ్రాఫ్ఎక్స్ బ్లాగును ముగించింది. మీరు దీన్ని చదివి ఆనందించారని మరియు అది సమాచారంగా ఉందని నేను ఆశిస్తున్నాను. మా అపాచీ స్పార్క్ సిరీస్‌లోని తదుపరి బ్లాగును చూడండి అపాచీ స్పార్క్లో మార్కెట్ సిద్ధంగా ఉంది.

మేము ఈ క్రింది వాటిని సిఫార్సు చేస్తున్నాము అపాచీ స్పార్క్ శిక్షణ | ఫ్లైట్ డేటా విశ్లేషణ వీడియో ఎడురేకా నుండి ప్రారంభించడానికి:

అపాచీ స్పార్క్ శిక్షణ | స్పార్క్ గ్రాఫ్ఎక్స్ ఫ్లైట్ డేటా విశ్లేషణ | ఎడురేకా

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

మీరు స్పార్క్ నేర్చుకోవాలనుకుంటే మరియు స్పార్క్ డొమైన్‌లో వృత్తిని నిర్మించాలనుకుంటే మరియు రియల్ లైఫ్ వినియోగ కేసులతో RDD, స్పార్క్ స్ట్రీమింగ్, స్పార్క్ SQL, MLlib, గ్రాఫ్ఎక్స్ మరియు స్కాలా ఉపయోగించి పెద్ద ఎత్తున డేటా ప్రాసెసింగ్ చేయడానికి నైపుణ్యాన్ని పెంచుకోవాలనుకుంటే, మా ఇంటరాక్టివ్, లైవ్ -ఆన్‌లైన్ ఇక్కడ, మీ అభ్యాస వ్యవధిలో మీకు మార్గనిర్దేశం చేయడానికి 24 * 7 మద్దతుతో వస్తుంది.