Шта су команде искре љуске?

Спарк схелл је интерфејс који се користи за писање адхоц упита за рад и разумевање понашања Апацхе Спарк. Назван је кластер рачунарским механизмом отвореног кода који може радити у меморији обраде података као што су аналитика, ЕТЛ, машинско учење за огромне скупове података. У овој теми сазнаћемо о командама искривих љуска.

На пример, постоје различите врсте искре за различите језике програмирања:

  1. спарк-схелл је написан у Сцали
  2. писпарк је у Питхон анд
  3. спаркР за Р језик

Човек може да развије своју самосталну апликацију уз помоћ Спарк-а. Широко се користи због своје велике брзе рачунске брзине. То је зато што користи МапРедуце за обраду различитих упита и трансформација.

За покретање наредби искре-схелл потребно је да су Јава и Сцала већ инсталирани у систему.

Врсте команди искреће љуске

Различите врсте команди Спарк-схелл-а су следеће:

1. Да бисте проверили да ли је варница инсталирана и да ли се зна њена верзија, користи се долена команда (Све наредбе се у даљем тексту означавају почевши од овог симбола „$“)

$ искра

Ако је варница инсталирана, приказује се следећи излаз:

$ искра

СПАРК_МАЈОР_ВЕРСИОН је постављен на 2, користећи Спарк2

Постављање заданог нивоа дневника на „УПОЗОРЕЊЕ“.

За подешавање нивоа евиденције користите сц.сетЛогЛевел (невЛевел). За СпаркР користите сетЛогЛевел (невЛевел).

Веб корисничко сучеље искре за контекст доступно на хттп://10.113.59.34:4040

Контекст искре доступан је као "сц" (мастер = лоцал (*), ид апликације = лоцал-1568732886588).

Сесија искре доступна је као „варница“.

Добродошли у

____ __

/ __ / __ ___ _____ / / __

_ \ \ / _ \ / _ `/ __ / '_ /

/ ___ / .__ / \ _, _ / _ / / _ / \ _ \ верзија 2.2.0.2.6.3.0-235

/ _ /

Кориштење Сцала верзије 2.11.8 (Јава ХотСпот (ТМ) 64-битни послужитељ ВМ, Јава 1.8.0_112)

Унесите изразе да бисте их проценили.

Упишите: помоћ за више информација.

скала>

2. Основна структура података Спарк-а назива се РДД (Ресилиент Дистрибутед скупови података) који садржи непромењиву колекцију објеката за расподељено рачунање записа. Сви скупови података РДД-а логички су подијељени на више чворова кластера.

РДД се може креирати само читањем из локалног датотечног система или трансформацијом постојећег РДД-а.

а) За креирање новог РДД-а користимо следећу наредбу:

scala> val examplefile = sc.textFile("file.txt")

Овде сц назива објектом СпаркЦонтект.

Излаз:

examplefile: org.apache.spark.rdd.RDD(String) = file.txt MapPartitionsRDD(3) at textFile at :24

б) РДД може бити креиран кроз Параллелизед Цоллецтион на следећи начин:

scala> val oddnum = Array(1, 3, 5, 7, 9)

Излаз:

oddnum: Array(Int) = Array(1, 3, 5, 7, 9)
scala> val value = sc.parallelize(oddnum)

Излаз:

value: org.apache.spark.rdd.RDD(Int) = ParallelCollectionRDD(4) at parallelize at :26

ц) Да бисте направили од постојећих РДД-ова :

scala> val newRDD = oddnum.map(value => (value * 2))

Излаз:

newRDD: Array(Int) = Array(2, 6, 10, 14, 18)

3. Постоје две врсте искричених РДД операција које се могу изводити на креираним сетовима података:

  • Акције
  • Трансформације

Радње: Користи се за обављање одређених потребних операција на постојећим скуповима података. Следи неколико команди које се могу користити за извођење доле наведених радњи на креираним скуповима података:

а) функција цоунт () за бројање броја елемената у РДД-у:

scala> value.count()

Излаз:

res3: Long = 5

б) функција сакупљања () за приказ свих елемената низа:

scala> value.collect()

Излаз:

res5: Array(Int) = Array(1, 3, 5, 7, 9)

ц) прва () функција која се користи за приказ првог елемента скупа података:

scala> value.first()

Излаз:

res4: Int = 1

д) функција таке (н) приказује првих н елемената низа:

scala> value.take(3)

Излаз:

res6: Array(Int) = Array(1, 3, 5)

е) функција такеСампле (витхРеплацемент, нум, (сеед)) приказује случајни низ елемената „нум” где је семе за генератор случајних бројева.

scala> value.takeSample(false, 3, System.nanoTime.toInt)

Излаз:

res8: Array(Int) = Array(3, 1, 7)

ф) функција савеАсТектФиле (путања) спрема скуп података у наведеној путањи хдфс локације

scala> value.saveAsTextFile("/user/valuedir")

г) преграде. дужина функција може се користити за проналажење броја партиција у РДД-у

scala> value.partitions.length

Излаз:

res1: Int = 8

РДД трансформације

Трансформација се користи за формирање новог РДД-а од постојећих. Пошто су улази РДД-а непроменљиви, резултат који настаје трансформацијом може бити један или више РДД-а као излаз.

Постоје две врсте трансформација:

  • Уске трансформације
  • Широке трансформације

Уске трансформације - Сваки родитељ РДД је подељен на различите партиције и међу њима ће само једна партиција користити дечије РДД.

Пример: мап () и филтер () су две основне врсте основних трансформација које се позивају када се позове акција.

  • функција мап (фунц) дјелује на сваки од елемената у скупу података "вриједност" итеративно како би произвео излазни РДД.

Примјер: У овом примјеру додамо вриједност 10 сваком елементу вриједности скупа података и приказује трансформирани излаз помоћу функције сакупљања.

scala> val mapfunc = value.map(x => x+10)
mapfunc: org.apache.spark.rdd.RDD(Int) = MapPartitionsRDD(3) at map at :28

scala> mapfunc.collect
res2: Array(Int) = Array(11, 13, 15, 17, 19)

функција филтер (фунц) се у основи користи за филтрирање елемената који задовољавају одређени увјет наведен помоћу функције.

Пример: У овом примеру покушавамо да пронађемо све елементе осим броја 2 вредности „скупа података“ скупа података и учитавамо излаз преко функције сакупљања.

scala> val fill = value.filter(x => x!=2)
fill: org.apache.spark.rdd.RDD(Int) = MapPartitionsRDD(7) at filter at :28

scala> fill.collect
res8: Array(Int) = Array(4, 6, 8, 10)

Широке трансформације - Једна родитељска РДД партиција дели се на више различитих подређених РДД партиција.

Пример: гроупбикеи и РедубиКеи су примери широких трансформација.

  • гроупбиКеи функција групира скупове података у парове кључ-вредност према кључним вредностима из другог РДД-а. Овај процес укључује премештање које се дешава када група по функцијама прикупља податке повезане са одређеним кључем и спрема их у један пар кључ-вредност.

Примјер: У овом примјеру додјељујемо цијели бројеве 5, 6 вриједности низа „кључ“ и цијели број 8 додијељен „8“ који су приказани у истом формату пара кључ-вриједност на излазу.

scala> val data = spark.sparkContext.parallelize(Array(("key", 5), ("val", 8), ("key", 6)), 3)
data: org.apache.spark.rdd.RDD((String, Int)) = ParallelCollectionRDD(13) at parallelize at :23

scala> val group = data.groupByKey().collect()
group: Array((String, Iterable(Int))) = Array((key, CompactBuffer(5, 6)), (val, CompactBuffer(8)))

scala> group.foreach(println)
(key, CompactBuffer(5, 6))
(val, CompactBuffer(8))

  • функција редуБиКеи такође комбинује парове кључ-вредност из различитих РДД-ова. Комбинује кључеве и њихове одговарајуће вредности у један елемент након извршења поменуте трансформације.

Пример: У овом примеру, уобичајени тастери низа „слова“ прво се паралелишу функцијом и свако слово се пресликава са бројем 10 до ње. РедуБиКеи ће додати вредности са сличним кључевима и спремати у променљиву вредност2. Излаз се затим приказује функцијом сакупљања.

scala> val letters = Array("A", "B", "C", "D", "B", "C", "E", "D")
letters: Array(String) = Array(A, B, C, D, B, C, E, D)

scala> val value2 = spark.sparkContext.parallelize(letters).map(w => (w, 10)).reduceByKey(_+_)
value2: org.apache.spark.rdd.RDD((String, Int)) = ShuffledRDD(20) at reduceByKey at :25

scala> value2.foreach(println)
(C, 20)
(E, 10)
(D, 20)
(B, 20)
(A, 10)

Поред горе наведених радњи попут поделе на РДД и извршавања акција / трансформација на њима, Спарк такође подржава кеширање које је корисно када се исти подаци позивају рекурзивно.

Уз помоћ свих ових својстава, Апацхе Спарк може обрадити огромне количине података и извршити групну обраду и стреаминг обраду. Прорачун у меморији који је извршио Спарк одговоран је за изузетно брзу обраду апликација. Дакле, Спарк је метода која иде даље због своје свестраности програмирања на различитим језицима, једноставности употребе и могућности интеграције.

Препоручени чланци

Ово је водич за команде искричавих граната. Овде смо расправљали о разним врстама команди искрећих љуски за различите програмске језике. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Команде Схелл скрипта
  2. Како инсталирати варницу
  3. Спарк Интервју Питања
  4. Спарк Цоммандс
  5. Адхоц тестирање
  6. Генератор случајних бројева у ЈаваСцрипт-у
  7. Водич до листе команди Уник Схелл-а
  8. ПиСпарк СКЛ | Модули и методе ПиСпарк СКЛ
  9. За петљу у схелл скрипту | Како ради петља?
  10. Наредите групне команде за скрипте са примерима
  11. Комплетан преглед компоненти искре

Категорија: