„Apache Spark“

„Apache Spark“ diegimas „Ubuntu 17“.10

„Apache Spark“ diegimas „Ubuntu 17“.10

„Apache Spark“ yra duomenų analizės įrankis, kuris gali būti naudojamas apdorojant duomenis iš HDFS, S3 ar kitų atminties duomenų šaltinių. Šiame įraše mes įdiegsime „Apache Spark“ „Ubuntu 17“.10 mašina.

„Ubuntu“ versija

Šiame vadove naudosime „Ubuntu 17“ versiją.10 (GNU / Linux 4.13.0-38-bendras x86_64).

„Apache Spark“ yra „Hadoop“ ekosistemos, skirtos didiesiems duomenims, dalis. Pabandykite įdiegti „Apache Hadoop“ ir su juo padarykite programos pavyzdį.

Esamų paketų atnaujinimas

Norint pradėti diegti „Spark“, būtina atnaujinti savo mašiną naujausiais programinės įrangos paketais. Tai galime padaryti:

sudo apt-get update && sudo apt-get -y dist-upgrade

Kadangi „Spark“ yra pagrįstas „Java“, turime jį įdiegti savo kompiuteryje. Mes galime naudoti bet kurią „Java“ versiją virš „Java 6“. Čia mes naudosime „Java 8“:

sudo apt-get -y įdiekite openjdk-8-jdk-headless

Atsisiunčiami „Spark“ failai

Dabar visi reikalingi paketai yra mūsų mašinoje. Esame pasirengę atsisiųsti reikalingus „Spark TAR“ failus, kad galėtume pradėti juos nustatyti ir paleisti programos pavyzdį su „Spark“.

Šiame vadove mes įdiegsime „Spark v2“.3.0 galima čia:

„Spark“ atsisiuntimo puslapis

Atsisiųskite atitinkamus failus naudodami šią komandą:

wget http: // www-us.apache.org / dist / spark / spark-2.3.0 / kibirkštis-2.3.0-bin-hadoop2.7.tgz

Atsižvelgiant į tinklo greitį, tai gali užtrukti kelias minutes, nes failas yra didelis:

Atsisiunčiama „Apache Spark“

Dabar, kai turime atsisiųstą TAR failą, galime išskleisti dabartiniame kataloge:

degutas xvzf spark-2.3.0-bin-hadoop2.7.tgz

Tai užtruks kelias sekundes dėl didelio archyvo failo dydžio:

Nearchyvuoti failai „Spark“

Ateityje atnaujinant „Apache Spark“, tai gali sukelti problemų dėl kelio naujinių. Šių problemų galima išvengti sukūrus „Spark“ nuorodą. Paleiskite šią komandą, kad sukurtumėte nuorodą:

ln -s kibirkštis-2.3.0-bin-hadoop2.7 kibirkštis

Kibirkšties pridėjimas prie kelio

Norėdami vykdyti „Spark“ scenarijus, mes dabar jį pridėsime prie kelio. Norėdami tai padaryti, atidarykite failą bashrc:

vi ~ /.bashrc

Pridėkite šias eilutes prie pabaigos .„bashrc“ failą, kad kelyje būtų „Spark“ vykdomojo failo kelias:

SPARK_HOME = / „Linux“ patarimas / kibirkštis
eksportuoti PATH = $ SPARK_HOME / šiukšliadėžė: $ PATH

Dabar failas atrodo taip:

„Spark“ pridėjimas prie PATH

Norėdami suaktyvinti šiuos pakeitimus, paleiskite šią bashrc failo komandą:

šaltinis ~ /.bashrc

Paleisti „Spark Shell“

Dabar, kai esame tiesiai už kibirkščių katalogo, paleiskite šią komandą, kad atidarytumėte „apark“ apvalkalą:

./ kibirkštis / šiukšliadėžė / kibirkštis

Pamatysime, kad „Spark“ apvalkalas yra atidarytas dabar:

Paleidimas „Spark shell“

Pultelyje matome, kad „Spark“ taip pat atidarė interneto konsolę 404 prievade. Apsilankykime:

„Apache Spark“ interneto konsolė

Nors veiksime pačioje konsolėje, žiniatinklio aplinka yra svarbi vieta, į kurią reikia atkreipti dėmesį, kai atliekate sunkius „Spark“ darbus, kad žinotumėte, kas vyksta kiekviename jūsų vykdomame „Spark“ darbe.

Patikrinkite „Spark shell“ versiją naudodami paprastą komandą:

sc.versija

Mes grįšime kažką panašaus:

res0: Stygos = 2.3.0

„Scala“ pavyzdžio „Spark“ naudojimas

Dabar mes sukursime „Word Counter“ programos pavyzdį su „Apache Spark“. Norėdami tai padaryti, pirmiausia įkelkite teksto failą į „Spark Context“ ant „Spark“ apvalkalo:

scala> var Duomenys = sc.textFile ("/ root / LinuxHint / spark / README.md ")
Duomenys: org.apache.kibirkštis.rdd.RDD [String] = / root / LinuxHint / spark / README.md MapPartitionsRDD [1] at textFile adresu: 24
scala>

Dabar faile esantis tekstas turi būti suskirstytas į žetonus, kuriuos „Spark“ gali valdyti:

scala> var tokens = duomenys.„flatMap“ (s => s.padalinti (""))
žetonai: org.apache.kibirkštis.rdd.RDD [String] = MapPartitionsRDD [2] „flatMap“ adresu: 25
scala>

Dabar inicijuokite kiekvieno žodžio skaičių iki 1:

scala> var žetonai_1 = žetonai.žemėlapis (s => (s, 1))
žetonai_1: org.apache.kibirkštis.rdd.RDD [(String, Int)] = MapPartitionsRDD [3] žemėlapyje: 25
scala>

Galiausiai apskaičiuokite kiekvieno failo žodžio dažnumą:

var sum_each = žetonai_1.reducByKey ((a, b) => a + b)

Laikas pažvelgti į programos išvestį. Surinkite žetonus ir jų skaičių:

scala> sum_each.rinkti ()
res1: Masyvas [(String, Int)] = Masyvas ((paketas, 1), (Už, 3), (Programos, 1), (apdorojimas.,1), (Nes, 1), (The, 1), (puslapis] (http: // kibirkštis.apache.org / dokumentacija.HTML).,1), (klasteris.,1), (its, 1), ([run, 1), (than, 1), (API, 1), (have, 1), (Try, 1), (computation, 1), (through, 1) ), (keli, 1), (tai, 2), (grafikas, 1), (avilys, 2), (saugykla, 1), (["Nurodykite, 1), (Iki, 2), (" verpalai "). , 1), (Vieną kartą, 1), (["Naudinga, 1), (pageidautina, 1), (SparkPi, 2), (variklis, 1), (versija, 1), (byla, 1), [dokumentacija ,, 1), (apdorojimas ,, 1), (the, 24), (yra, 1), (sistemos.,1), (parametrai, 1), (ne, 1), (skirtingi, 1), (nuoroda, 2), (interaktyvus, 2), (R ,, 1), (pateiktas.,1), (if, 4), (build, 4), (when, 1), (be, 2), (Testai, 1), (Apache, 1), (thread, 1), (programos ,, 1 ) (įskaitant 4), (./ bin / run-example, 2), (Kibirkštis.,1), (pakuotė.,1), (1000).skaičius (), 1), (1 versijos), (HDFS, 1), (D…
scala>

Puiku! Mes galėjome paleisti paprastą „Word Counter“ pavyzdį naudodami „Scala“ programavimo kalbą su sistemoje jau esančiu teksto failu.

Išvada

Šioje pamokoje apžvelgėme, kaip galime įdiegti „Apache Spark“ ir pradėti jį naudoti „Ubuntu 17“.10 mašiną ir taip pat paleiskite pavyzdinę programą.

Skaitykite daugiau „Ubuntu“ pagrįstų įrašų čia.

Kaip naudoti „Xdotool“, norint paskatinti pelės paspaudimus ir klavišų paspaudimus sistemoje „Linux“
„Xdotool“ yra nemokamas ir atviro kodo komandinės eilutės įrankis, skirtas pelės paspaudimams ir klavišų paspaudimams imituoti. Šis straipsnis apims t...
5 populiariausi „Linux“ skirtų ergonomiškų kompiuterinių pelių produktai
Ar ilgalaikis kompiuterio naudojimas sukelia riešo ar pirštų skausmą?? Ar jūs kenčiate nuo sąnarių standumo ir nuolat turite paspausti rankas? Ar jauč...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...