Програмирање свиња: Апацхе свињска скрипта са УДФ-ом у ХДФС режиму



Програмирање свиња: Апацхе свињска скрипта са УДФ-ом у ХДФС режиму. Ево објаве на блогу за покретање Апацхе Пиг скрипте са УДФ-ом у ХДФС режиму ...

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

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





Овде смо узели један пример и користили смо и УДФ (кориснички дефинисане функције), тј. Прављење низа великим словима и узимање вредности и повећање његове снаге.

__инит__ у питхон

Скуп података је приказан испод којег ћемо користити у овом примеру:



table

Циљ нам је направити велико слово из прве колоне и повећати снагу другог ступца са вредношћу трећег ступца.

Почнимо са писањем јава кода за сваки УДФ. Такође морамо да конфигуришемо 4 ЈАР-а у нашем јава пројекту како бисмо избегли грешке у компилацији.
Прво ћемо створити јава програме, оба су дата у наставку:



Горња.јава

импорт јава.ио.ИОЕкцептион импорт орг.апацхе.пиг.ЕвалФунц импорт орг.апацхе.пиг.дата.Тупле импорт орг.апацхе.пиг.импл.утил.ВраппедИОЕкцептион @СуппрессВарнингс ('депрецатион') јавна класа Уппер проширује ЕвалФунц {публиц Стринг екец (Тупле инпут) баца ИОЕкцептион {иф (инпут == нулл || инпут.сизе () == 0) ретурн нулл три {Стринг стр = (Стринг) инпут.гет (0) стр = стр.тоУпперЦасе () ретурн стр} цатцх (Екцептион е) {тхров ВраппедИОЕкцептион.врап ('Ухваћен је обрада улазног реда за изузетак, е)}}}

Снага.јава

импорт јава.ио.ИОЕкцептион импорт орг.апацхе.пиг.ЕвалФунц импорт орг.апацхе.пиг.ПигВарнинг импорт орг.апацхе.пиг.дата.Тупле јавна класа Пов проширује ЕвалФунц {публиц Лонг екец (Тупле инпут) баца ИОЕкцептион {три { инт басе = (Интегер) инпут.гет (0) инт екпонент = (Интегер) инпут.гет (1) лонг ресулт = 1 / * Вероватно није најефикаснији метод ... * / за (инт и = 0 и резултат) {// Преплавили смо се. Дајте упозорење, али не бацајте // изузетак. варн ('Оверфлов!', ПигВарнинг.ТОО_ЛАРГЕ_ФОР_ИНТ) // Враћање нуле ће указати Свињи да нисмо успели, али // желимо да наставимо извршење. ретурн нулл}} ретурн ресулт} цатцх (Екцептион е) {// Ако изузмете изузетак, задатак ће пропасти. баци нови ИОЕкцептион ('Нешто се лоше догодило!', е)}}}

Да бисмо уклонили грешке компилације, морамо да конфигуришемо 4 ЈАР-а у нашем јава пројекту.


Кликните на дугме Преузми да бисте преузели ЈАР-ове

[буттонлеадс форм_титле = ”Преузми код” редирецт_урл = хттпс: //едурека.вистиа.цом/медиас/втбое1хмкр/довнлоад? медиа_филе_ид = 76900193 цоурсе_ид = 166 буттон_тект = ”Преузми ЈАР-ове”]

Сада извозимо ЈАР датотеке за оба Јава кода. Молимо погледајте кораке у наставку за стварање ЈАР-а.

Овде смо показали за један програм, наставите на исти начин и за следећи програм.

Након креирања ЈАР-ова и текстуалних датотека, пребацили смо све податке у ХДФС кластер, који је приказан следећим сликама:

У нашем скупу података поља су одвојена зарезом (,).

пронађи дужину низа јавасцрипт

Након премештања датотеке, креирали смо скрипту са екстензијом .пиг и ставили све наредбе у ту датотеку скрипте.

основна структура Јава програма

Сада у терминалу откуцајте ПИГ праћено именом датотеке скрипте која је приказана на следећој слици:

Ево, ово је излаз за покретање пиг скрипте.

Имате питање за нас? Молимо вас да их наведете у одељку за коментаре и јавићемо вам се.

Повезани постови:

Кораци за стварање УДФ-а у Апацхе Пиг-у

Увод у Апацхе Хиве