У овом водичу ћемо се углавном фокусирати на читање/учитавање датотеке паркета у ПиСпарк ДатаФраме/СКЛ помоћу функције реад.паркует() која је доступна у класи писпарк.скл.ДатаФрамеРеадер.
Тема садржаја:
Прочитајте датотеку паркета у ПиСпарк ДатаФраме
Прочитајте датотеку паркета у ПиСпарк СКЛ
Писпарк.скл.ДатаФрамеРеадер.паркует()
Ова функција се користи за читање датотеке паркета и њено учитавање у ПиСпарк ДатаФраме. Узима путању/име датотеке паркета. Можемо једноставно користити функцију реад.паркует() пошто је ово генеричка функција.
Синтакса:
Хајде да видимо синтаксу реад.паркует():
спарк_апп.реад.паркует(филе_наме.паркует/патх)Прво, инсталирајте ПиСпарк модул користећи пип команду:
пип инсталл писпарк
Узмите датотеку паркета
Да бисте прочитали датотеку паркета, потребни су вам подаци у којима се из тих података генерише датотека паркета. У овом делу ћемо видети како да генеришемо датотеку паркета из ПиСпарк ДатаФраме-а.
Хајде да направимо ПиСпарк ДатаФраме са 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:
Користећи претходни ПРИКАЗ, напишите СКЛ упит:
- За приказ свих записа из сектора који припадају „Индији“.
- За приказ свих записа из сектора са запосленим већим од 100.
линукхинт_спарк_апп.скл( 'одабери * из сектора где је Област='Индија'' ).Прикажи()
# Упит за приказ свих записа из сектора са запосленим већим од 100
линукхинт_спарк_апп.скл( „одабери * из сектора у којима је укупно_запослених>100“ ).Прикажи()
Излаз:
Постоји само један запис са површином која је „Индија“ и два записа са запосленима који су већи од 100.
Прочитајте датотеку паркета у ПиСпарк СКЛ
Прво, треба да креирамо ВИЕВ користећи наредбу ЦРЕАТЕ. Користећи кључну реч „путања“ унутар СКЛ упита, можемо прочитати датотеку паркета у Спарк СКЛ. Након путање, потребно је да наведемо име датотеке/локацију датотеке.
Синтакса:
спарк_апп.скл( „КРЕИРАЈТЕ ПРИВРЕМЕНИ ПРИКАЗ име_приказа КОРИСТЕЋИ ОПЦИЈЕ паркета (путања „ назив_датотеке.паркет ')' )Пример 1:
Направите привремени приказ под називом „Сектор2“ и у њега прочитајте датотеку паркета. Користећи скл() функцију, напишите упит за одабир да бисте приказали све записе који су присутни у приказу.
импорт писпаркиз писпарк.скл импорт СпаркСессион,Ров
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# Прочитајте датотеку паркета у Спарк-СКЛ
линукхинт_спарк_апп.скл( „КРЕИРАЈТЕ ПРИВРЕМЕНИ ПРИКАЗ Сектор2 КОРИСТЕЋИ ОПЦИЈЕ паркета (путања „ део-00000-фф70ф69д-ф1фб- 4450 -б4б4-дфд5а8д6ц7ад-ц000.снаппи.паркует ')' )
# Упит за приказ свих записа из Сектора2
линукхинт_спарк_апп.скл( 'одабери * из Сектора2' ).Прикажи()
Излаз:
Пример 2:
Користите претходни ПРЕГЛЕД и напишите упит да бисте приказали све записе са оценом „Вруће“ или „Кладно“.
# Упит за приказ свих записа из Сектора2 са оценом - Вруће или Цоол.линукхинт_спарк_апп.скл( 'одабери * из Сектора2 где је Оцена='Вруће' ИЛИ Оцена='Кул'' ).Прикажи()
Излаз:
Постоје три записа са оценом „Вруће“ или „Кул“.
Закључак
У ПиСпарк-у, функција врите.паркует() уписује ДатаФраме у датотеку паркета. Функција реад.паркует() чита датотеку паркета у ПиСпарк ДатаФраме или било који други извор података. Научили смо како да прочитамо датотеку паркета у ПиСпарк ДатаФраме и у ПиСпарк табелу. Као део овог упутства, такође смо разговарали о томе како да креирамо табеле из ПиСпарк ДатаФраме-а и филтрирамо податке помоћу клаузуле ВХЕРЕ.