ПиСпарк Реад.Паркует()

Pispark Read Parkuet



У ПиСпарк-у, функција врите.паркует() уписује ДатаФраме у датотеку паркета, а реад.паркует() чита датотеку паркета у ПиСпарк ДатаФраме или било који други извор података. Да бисмо брзо и ефикасно обрадили колоне у Апацхе Спарк-у, морамо да компримујемо податке. Компресија података штеди нашу меморију и све колоне се претварају у равни ниво. То значи да постоји складиште на нивоу равног ступца. Фајл који их чува је познат као ПАРКУЕТ фајл.

У овом водичу ћемо се углавном фокусирати на читање/учитавање датотеке паркета у ПиСпарк ДатаФраме/СКЛ помоћу функције реад.паркует() која је доступна у класи писпарк.скл.ДатаФрамеРеадер.

Тема садржаја:







Узмите датотеку паркета



Прочитајте датотеку паркета у ПиСпарк ДатаФраме



Прочитајте датотеку паркета у ПиСпарк СКЛ





Писпарк.скл.ДатаФрамеРеадер.паркует()

Ова функција се користи за читање датотеке паркета и њено учитавање у ПиСпарк ДатаФраме. Узима путању/име датотеке паркета. Можемо једноставно користити функцију реад.паркует() пошто је ово генеричка функција.

Синтакса:



Хајде да видимо синтаксу реад.паркует():

спарк_апп.реад.паркует(филе_наме.паркует/патх)

Прво, инсталирајте ПиСпарк модул користећи пип команду:

пип инсталл писпарк

Узмите датотеку паркета

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

Хајде да направимо ПиСпарк ДатаФраме са 5 записа и запишемо ово у датотеку паркета „индустри_паркует“.

импорт писпарк

из писпарк.скл импорт СпаркСессион,Ров

линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()

# креирајте оквир података који чува детаље о индустрији

Индустриал_дф = линукхинт_спарк_апп.цреатеДатаФраме([Ров(Типе= 'пољопривреда' ,Ареа= 'САД' ,
Ратинг= 'вруће' ,Тотал_емплоиеес= 100 ),

Ред(Тип= 'пољопривреда' ,Ареа= 'Индија' ,Ратинг= 'вруће' ,Тотал_емплоиеес= 200 ),

Ред(Тип= 'Развој' ,Ареа= 'САД' ,Ратинг= 'топло' ,Тотал_емплоиеес= 100 ),

Ред(Тип= 'Образовање' ,Ареа= 'САД' ,Ратинг= 'Хладан' ,Тотал_емплоиеес= 400 ),

Ред(Тип= 'Образовање' ,Ареа= 'САД' ,Ратинг= 'топло' ,Тотал_емплоиеес= двадесет )

])

# Стварни оквир података

индустрија_дф.схов()

# Упишите индустрија_дф у датотеку паркета

Индустриал_дф.цоалесце( 1 ).врите.паркет( 'индустрија_паркета' )

Излаз:

Ово је ДатаФраме који садржи 5 записа.

Датотека паркета је креирана за претходни ДатаФраме. Овде је наш назив датотеке са екстензијом „парт-00000-фф70ф69д-ф1фб-4450-б4б4-дфд5а8д6ц7ад-ц000.снаппи.паркует“. Користимо ову датотеку у целом туторијалу.

Прочитајте датотеку паркета у ПиСпарк ДатаФраме

Имамо датотеку за паркет. Хајде да прочитамо ову датотеку помоћу функције реад.паркует() и учитамо је у ПиСпарк ДатаФраме.

импорт писпарк

из писпарк.скл импорт СпаркСессион,Ров

линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()

# Прочитајте датотеку паркета у датафраме_фром_паркует објекат.

датафраме_фром_паркует=линукхинт_спарк_апп.реад.паркует( 'парт-00000-фф70ф69д-ф1фб-4450-б4б4-дфд5а8д6ц7ад-ц000.снаппи.паркет' )

# Прикажи датафраме_фром_паркует-ДатаФраме

датафраме_фром_паркует.схов()

Излаз:

ДатаФраме приказујемо помоћу методе схов() која је креирана из датотеке паркета.

СКЛ упити са датотеком паркета

Након учитавања у ДатаФраме, могуће је креирати СКЛ табеле и приказати податке који су присутни у ДатаФраме-у. Морамо да направимо ПРИВРЕМЕНИ ПРИКАЗ и да користимо СКЛ команде да вратимо записе из ДатаФраме-а који је креиран из датотеке паркета.

Пример 1:

Креирајте привремени приказ под називом „Сектори“ и користите команду СЕЛЕЦТ за приказ записа у ДатаФраме-у. Можете се позвати на ово Приручник то објашњава како се креира ВИЕВ у Спарк – СКЛ.

импорт писпарк

из писпарк.скл импорт СпаркСессион,Ров

линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()

# Прочитајте датотеку паркета у датафраме_фром_паркует објекат.

датафраме_фром_паркует=линукхинт_спарк_апп.реад.паркует( 'парт-00000-фф70ф69д-ф1фб-4450-б4б4-дфд5а8д6ц7ад-ц000.снаппи.паркет' )

# Направите поглед из горње датотеке паркета под називом - 'Сектори'

датафраме_фром_паркует.цреатеОрРеплацеТемпВиев( 'Сектори' )

# Упит за приказ свих записа из сектора

линукхинт_спарк_апп.скл( 'одабери * из сектора' ).Прикажи()

Излаз:

Пример 2:

Користећи претходни ПРИКАЗ, напишите СКЛ упит:

  1. За приказ свих записа из сектора који припадају „Индији“.
  2. За приказ свих записа из сектора са запосленим већим од 100.
# Упит за приказ свих записа из сектора који припадају 'Индији'.

линукхинт_спарк_апп.скл( 'одабери * из сектора где је Област='Индија'' ).Прикажи()

# Упит за приказ свих записа из сектора са запосленим већим од 100

линукхинт_спарк_апп.скл( „одабери * из сектора у којима је укупно_запослених>100“ ).Прикажи()

Излаз:

Постоји само један запис са површином која је „Индија“ и два записа са запосленима који су већи од 100.

Прочитајте датотеку паркета у ПиСпарк СКЛ

Прво, треба да креирамо ВИЕВ користећи наредбу ЦРЕАТЕ. Користећи кључну реч „путања“ унутар СКЛ упита, можемо прочитати датотеку паркета у Спарк СКЛ. Након путање, потребно је да наведемо име датотеке/локацију датотеке.

Синтакса:

спарк_апп.скл( „КРЕИРАЈТЕ ПРИВРЕМЕНИ ПРИКАЗ име_приказа КОРИСТЕЋИ ОПЦИЈЕ паркета (путања „ назив_датотеке.паркет ')' )

Пример 1:

Направите привремени приказ под називом „Сектор2“ и у њега прочитајте датотеку паркета. Користећи скл() функцију, напишите упит за одабир да бисте приказали све записе који су присутни у приказу.

импорт писпарк

из писпарк.скл импорт СпаркСессион,Ров

линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()

# Прочитајте датотеку паркета у Спарк-СКЛ

линукхинт_спарк_апп.скл( „КРЕИРАЈТЕ ПРИВРЕМЕНИ ПРИКАЗ Сектор2 КОРИСТЕЋИ ОПЦИЈЕ паркета (путања „ део-00000-фф70ф69д-ф1фб- 4450 -б4б4-дфд5а8д6ц7ад-ц000.снаппи.паркует ')' )

# Упит за приказ свих записа из Сектора2

линукхинт_спарк_апп.скл( 'одабери * из Сектора2' ).Прикажи()

Излаз:

Пример 2:

Користите претходни ПРЕГЛЕД и напишите упит да бисте приказали све записе са оценом „Вруће“ или „Кладно“.

# Упит за приказ свих записа из Сектора2 са оценом - Вруће или Цоол.

линукхинт_спарк_апп.скл( 'одабери * из Сектора2 где је Оцена='Вруће' ИЛИ ​​Оцена='Кул'' ).Прикажи()

Излаз:

Постоје три записа са оценом „Вруће“ или „Кул“.

Закључак

У ПиСпарк-у, функција врите.паркует() уписује ДатаФраме у датотеку паркета. Функција реад.паркует() чита датотеку паркета у ПиСпарк ДатаФраме или било који други извор података. Научили смо како да прочитамо датотеку паркета у ПиСпарк ДатаФраме и у ПиСпарк табелу. Као део овог упутства, такође смо разговарали о томе како да креирамо табеле из ПиСпарк ДатаФраме-а и филтрирамо податке помоћу клаузуле ВХЕРЕ.