Водич за ПиСпарк Датафраме - Програмирање ПиСпарк са оквирима података



На овом блогу водича за ПиСпарк Датафраме научићете о трансформацијама и акцијама у Апацхе Спарк-у са више примера.

Датафрамес је данас модна реч у индустрији. Људи га користе са популарним језицима који се користе за анализу података попут Питхона, Сцале и Р.Уз то, са евидентном потребом за руковањем сложеним анализама и задацима мењања за Биг Дата, Питхон за Спарк или је постала једна од најтраженијих вештина у индустрији данас.Па, зашто то сви толико користе? Да разумемо ово са нашим Водич за ПиСпарк Датафраме блог. На овом блогу ћу обрађивати следеће теме:





Водич за ПиСпарк Датафраме: Шта су оквири података?

Оквири података се обично односе на структуру података која је табеларне природе. Представља Редове од којих се сваки састоји од одређеног броја запажања. Редови могу имати различите формате података ( Хетерогена ), док колона може имати податке истог типа података ( Хомоген ). Оквири података обично садрже и неке метаподатке, поред података, на пример имена колона и редова.

Dataframe-Pyspark-Dataframe-Tutorial



Можемо рећи да оквири података нису ништа друго већ дводимензионална структура података, слична СКЛ табели или прорачунској табели. Кренимо сада са овим водичем за ПиСпарк Датафраме и схватимо зашто нам је тачно потребан Писпарк Датафраме?

Зашто су нам потребни оквири података?

1. Обрада структурираних и полуструктурираних података



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

2.С лиценцирање и коцкање

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

3. Извори података

ДатаФраме има подршку за широк спектар формата података и извора, то ћемо размотрити касније на овом блогу Писпарк Датафраме Туториал. Они могу да узимају податке из различитих извора.

4.Подршка за више језика

Има АПИ подршку за различите језике као што су Питхон, Р, Сцала, Јава,што олакшава употребу људима који имају различито програмско порекло.

Претплатите се на наш иоутубе канал да бисте добијали нова ажурирања ..!

Карактеристике оквира података

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

Извори податковног оквира ПиСпарк

Оквири података у Писпарку могу се креирати на више начина:

Подаци се могу учитати путем а ЦСВ, ЈСОН, КСМЛ или турпија за паркет. Такође се може створити помоћу постојећег РДД и путем било које друге базе података, на пример Кошница или Цассандра такође. Такође може да узима податке из ХДФС-а или локалног система датотека.

Стварање оквира података

Кренимо даље са овим блогом водича за ПиСпарк Датафраме и разумемо како да креирамо оквире података.

Направићемо инстанце запослених и одељења.

фром писпарк.скл импорт * Емплоиее = Ред ('фирстНаме', 'ластНаме', 'емаил', 'паи') воркер1 = Емплоиее ('Басхер', 'армбруст', 'басх@едурека.цо', 100000) запосленик2 = Запослени ('Даниел', 'менг', 'даниел@станфорд.еду', 120000) запосленик3 = Запослени ('Муриел', Ниједан, 'муриел@ватерлоо.еду', 140000) запослени4 = Запослени ('Рацхел', 'венделл ',' рацх_3@едурека.цо ', 160000) запосленик5 = Запослени (' Зацх ',' галифианакис ',' зацх_г@едурека.цо ', 160000) принт (Емплоиее [0]) принт (воркер3) департмент1 = Ред (ид = '123456', наме = 'ХР') департмент2 = Ред (ид = '789012', наме = 'ОПС') департмент3 = Ред (ид = '345678', наме = 'ФН') департмент4 = Ред (ид = ' 901234 ', наме =' ДЕВ ')

Следеће ћемо створити инстанцу ДепартментВитхЕ Емплоиеес од запослених и одељења

департментВитхЕ Емплоиеес1 = Ред (одељење = одељење1, запослени = [запослени1, запослени2, запослени5]) департментВитхЕ Емплоиеес2 = Ред (одељење = одељење2, запослени = [запослени3, запослени4]) департментВитхЕпослее3 = Ред (одељење = одељење3, запослени = [запослени1, запослени4, запослени3 ]) департментВитхЕ Емплоиеес4 = Ред (одељење = одељење4, запослени = [запослени2, запослени3])

Створимо наш оквир података са листе редова

департментВитхЕффициеес_Сек = [департментВитхЕффициеес1, департментВитхЕффициеес2] дфраме = спарк.цреатеДатаФраме (департментВитхЕффициеес_Сек) дисплаи (дфраме) дфраме.схов ()

Оквири података Писпарка Пример 1: Скуп података ФИФА Светског купа

Овде смо узели ФИФА-ин скуп података о играчима светског купа. Учитаћемо ове податке који су у ЦСВ форматуу адатафраме, а затим ћемо научити о различитим трансформацијама и радњама које се могу извршити на овом датафраме-у.

Читање података из ЦСВ датотеке

Учитајмо податке из ЦСВ датотеке. Овде ћемо користити спарк.реад.цсв метода за учитавање података у оквир података фифа_дф. Стварна метода је спарк.реад.формат [цсв / јсон] .

фифа_дф = спарк.реад.цсв ('пут до датотеке / фифа_плаиерс.цсв', инферСцхема = Тачно, заглавље = Тачно) фифа_дф.схов ()

Шема оквира података

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

фифа_дф.принтСцхема ()

Имена и бројеви колона (редови и колоне)

Када желимо да погледамо имена и број броја редова и колона одређеног оквира података, користимо следеће методе.

фифа_дф.цолумнс // Имена колона фифа_дф.цоунт () // Број редова лен (фифа_дф.цолумнс) // Број колона

37784 8

Описивање одређене колоне

Ако желимо да погледамо сажетак било које одређене колоне Датафраме-а, користимо описује метода. Ова метода даје нам статистички сажетак дате колоне, ако није наведен, пружа статистички сажетак оквира података.

подразумевана вредност јава цхар низа
фифа_дф.десцрибе ('Име тренера'). схов () фифа_дф.десцрибе ('Позиција'). схов ()

Избор више колона

Ако желимо да одаберемо одређене колоне из оквира података, користимо изаберите метода.

фифа_дф.селецт ('Име играча', 'Име тренера'). схов ()

Избор изразитих вишеструких колона

фифа_дф.селецт ('Име играча', 'Име тренера'). дистинцт (). схов ()

Филтрирање података

Да бисмо филтрирали податке, према наведеном стању, користимо филтер команда. Овде филтрирамо наш оквир података на основу услова да ИД подударања мора бити једнак 1096, а затим израчунавамо колико записа / редова има у филтрираном излазу.

фифа_дф.филтер (фифа_дф.МатцхИД == '1096'). схов () фифа_дф.филтер (фифа_дф.МатцхИД == '1096'). цоунт () // за добијање броја

Филтрирање података (више параметара)

Наше податке можемо филтрирати на основу више услова (И ИЛИ)

фифа_дф.филтер ((фифа_дф.Поситион == 'Ц') && (фифа_дф.Евент == 'Г40' ')). схов ()

Сортирање података (ОрдерБи)

За сортирање података користимо ОрдерБи метода. Подразумевано се сортира у растућем редоследу, али такође можемо да га променимо у опадајући.

фифа_дф.ордерБи (фифа_дф.МатцхИД) .схов ()

ПиСпарк оквири података Пример 2: Скуп суперхерос података

Учитавање података

Овде ћемо податке учитати на исти начин као и раније.

Суперхерој_дф = спарк.реад.цсв ('путања до датотеке / суперхерос.цсв', инферСцхема = Тачно, заглавље = Тачно) Суперхерој_дф.схов (10)

Филтрирање података

Суперхеро_дф.филтер (Суперхеро_дф.Гендер == 'Мушки'). Цоунт () // Мушкарци Херос Цоунт Суперхеро_дф.филтер (Суперхеро_дф.Гендер == 'Женски'). Цоунт () // Женски Херос Цоунт

Груписање података

Група од користи се за груписање оквира података на основу наведене колоне. Овде групишемо оквир података на основу колоне Раце, а затим са рачунати функције, можемо пронаћи број одређене расе.

Раце_дф = Суперхеро_дф.гроупби ('Раце') .цоунт () .схов ()

Извођење СКЛ упита

Такође можемо проследити СКЛ упите директно било ком оквиру података, за то морамо створити табелу из оквира података користећи регистерТемпТабле методу, а затим користите склЦонтект.скл () за прослеђивање СКЛ упита.

Суперхеро_дф.регистерТемпТабле ('суперхеро_табле') склЦонтект.скл ('селецт * фром суперхеро_табле'). Схов ()

склЦонтект.скл ('изабери различит (Боја_ока) од суперхеројског_табла'). схов ()

склЦонтект.скл ('изабери различит (Боја_ока) од суперхеројског_табла'). цоунт ()

2. 3

склЦонтект.скл ('изабери макс. (тежина) из суперхеро_табле'). схов ()

И овим смо дошли до краја овог водича за ПиСпарк Датафраме.

Па то је то, момци!

Надам се да сте стекли идеју шта је ПиСпарк Датафраме, зашто се користи у индустрији и његове карактеристике на овом блогу водича за ПиСпарк Датафраме. Честитамо, више нисте новајлија за оквире података. Ако желите да сазнате више о ПиСпарку и да разумете различите случајеве употребе у индустрији, погледајте наш Искра са Питхоном и Водич за ПиСпарк Блог.