РДД у Спарку - Различити начини креирања РДД - Покретање Спарк-Схелл-а

Преглед садржаја:

Anonim

Увод у РДД у Спарку

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

Једна важна карактеристика кроз коју је Спарк превладао ограничења Хадоопа је путем РДД-а, јер умјесто реплицирања података, Ресилиент Дистрибутед скупови података (РДД) одржавају податке кроз чворове у кластеру и враћају податке уз помоћ графикона линије. Подаци у Хадоопу су сувишно чувани међу машинама које су имале својство толеранције на грешке. Дакле, РДД је темељна апстракција коју је Спарк пружио за дистрибуиране податке и рачунање.

Постоје различити начини креирања РДД-а

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

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

Покретање Спарк-Схелл-а

1. корак: Преузмите и распакујте искру. Преузмите тренутну верзију искре са званичне веб странице. Распакирајте преузету датотеку на било коју локацију у вашем систему.

Корак 2: Постављање Сцале

  • Преузмите скала са сцала ланг.орг
  • Инсталирајте скала
  • Подесите променљиву околину СЦАЛА_ХОМЕ и поставите променљиву ПАТХ на директоријум скале скале.

Корак 3: Покрените љуску искре. Отворите командни редак и помакните се до мапе за смеће искре. Екецуте-спарк-схелл.

Различити начини креирања РДД-а

1. Учитавање екстерног скупа података

Метода тектФиле СпаркЦонтект користи се за учитавање података из било којег извора што заузврат ствара РДД. Спарк подржава широк спектар извора из којих се подаци могу извући, попут Хадооп, ХБасе, Амазон С3, итд. Један извор података је текстуална датотека о којој смо овде говорили. Осим текстуалних датотека, сцала АПИ скала подржава и друге формате података као што су вхолеТектФилес, датотека секвенце, Хадооп РДФ и многи други.

Пример

val file = sc.textFile("/path/textFile.txt"") // relative path

Променљива датотека звана је РДД, створена из текстуалне датотеке на локалном систему. У искреној љусци, објект контекста искре (сц) је већ створен и користи се за приступ искре. ТектФиле је метода орг.апацхе.спарк.СпаркЦонтект класе која чита текстуалну датотеку са ХДФС-а, локалног датотечног система или било којег УРИ-а подржаног од Хадооп-а и враћа га као РДД Стрингс. Стога је улаз за ову методу УРИ и податке дијели на чворове.

2. Просљеђивање података методом Параллелизе

Други начин креирања РДД-а је узимање постојеће колекције у меморији и прослеђивање исте како би се паралелизирао методу СпаркЦонтект. Док учимо искру овај начин креирања РДД-а је прилично користан јер можемо креирати РДД-ове у љусци и изводити операције. Тешко се користи изван тестирања и прототипирања, јер захтева да читави подаци буду доступни на локалној машини. Важна тачка паралелизације је број партиција на које је збирка разбијена. Број (партиције) можемо проследити као други параметар у методи паралелизације и ако број није наведен, Спарк ће одлучити на основу кластера.

  • Без одређеног броја партиција:

val sample = sc.parallelize(Array(1, 2, 3, 4, 5))

  • Са већим бројем партиција:

val sample = sc.parallelize(List(1, 2, 3, 4, 5), 3)

3. Трансформацијом постојећег РДД-а

Постоје две врсте операција које се изводе преко РДД-а.

  1. Трансформације
  2. Акције

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

val inputRDD = sc.textFile("log.txt")val errorsRDD = inputRDD.filter(line => line.contains("error"))

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

val inputRDD = sc.parallelize(List(10, 9, 8, 7, 6, 5))val resultRDD = inputRDD.map(y => y * y)println(resultRDD.collect().mkString(", "))

Важне тачке које морате запамтити

  • Међу свим тренутно доступним оквирима, Апацхе искра је најновија и све више добија на популарности због својих јединствених карактеристика и једноставног приступа. Елиминише све недостатке које представља Хадооп, као и одржавање својства отпорности на грешке и скалабилности МапРедуце-а. Да би се постигли ови циљеви, платформа за увођење представља концепт РДД.
  • Постоје углавном три начина на која се може креирати РДД тамо где је најосновнији када учитавамо скуп података.
  • Метода паралелизације широко је доступна само у сврху тестирања и учења.
  • Операција трансформације резултирала би РДД-ом.

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

Ово је водич за РДД у Спарку. Овде смо такође разговарали о различитим начинима креирања РДД-а, како лансирати Спарк-Схелл уз важне тачке. Можете и да прођете кроз наше дате чланке да бисте сазнали више -

  1. Шта је РДД?
  2. Како инсталирати варницу
  3. Спаркинг Стреаминг
  4. Спарк ДатаФраме
  5. Шта су команде искре љуске?
  6. Водич до листе команди Уник Схелл-а