Kiel pretigi vian datumon uzanta Apache Porko?

Superrigardo:

Apache Porko estas platformo kaj parto de BigData eco-sistemo. La platformo estas uzita pretigi grandan volumon de datumo fiksita en paralela vojo. La porka platformo laboras supre de Apache Hadoop kaj MapReduce Platformo. Kiel ni scias, MapReduce estas la programara modelo uzita por Hadoop aplikoj. Nun Apache Porka platformo provizas abstraction super MapReduce modelo fari la programaron pli facila. Ĝi provizas SQL kiel fasado evoluigi MapReduce programo. Do anstataŭ skribanta MapReduce programo rekte, Ellaborantoj povas skribi Porkan skribon kaj ĝin laboros aŭtomate en paralela maniero sur distribuita medion.

Enkonduko:

Apache Porko estas platformo uzita analizi datumajn arojn de pli granda volumo kiu konsistas de alta-nivela lingvo uzita esprimi datuman analizon programoj. Ĝi ankaŭ provizas la infrastrukturon por taksanta ĉi tiujn aplikojn. La plej grava nemoveblaĵo de Porka programo estas ke la strukturo estas malferma al granda parallelization, Kiu en ĝirado ebligas ĝin pritrakti tre grandaj datumaj aroj.

Nuntempe, La infrastruktura tavolo de Porko konsistas de Compiler Kiu produktas sinsekvon de fundamenta Mapo-Redukti programojn. Kaj por tio ĉi labori, Granda-skalo paralelaj efektivigoj jam ekzisti en la kadro.

La lingva tavolo de Porko konsistas de Teksta lingvo Vokita Porka latino. Ĝi havas la sekvantajn kernajn ĉefaĵojn:

  • Faciliĝo de programaro: Ĝi prezentas trivialan vojon atingi paralelan ekzekuton de simpla, Paralela datuma analizo taskoj. Kompleksaj taskoj inkluzivanta oblon interilatis datumajn transformojn estas eksplicite kodita kiel datuma fluo sinsekvoj. Rezulte la aplikoj estas facile skribi uzanta pi latina skribo, Kompreni kaj daŭrigi ĝin.
  • Optimization: La taskoj estas kodita en vojo kiu permesas la sistemon optimumigi ilian ekzekuton aŭtomate, Permesanta la uzanton koncentri sur semantikoj prefere ol efikeco.
  • Extensibility: Ni povas krei niajn proprajn funkciojn fari specialan-cela pretigo.

PORKA Instalaĵo kaj ekzekuto:

Apache PORKO povas esti elŝutita de la oficiala retejo – http://pig.apache.org. Ĝi kutime venas kiel arkiva dosiero. Ni nur devas eltiri la arkivon kaj fiksita la mediajn parametrojn. Porko ankaŭ povas esti instalita uzanta la rpm pako sur redhat medio aŭ uzanta la deb pako sur la debian medio. Unufoje la instalaĵo estas farita nin simple komenci la Porkon specifanta la lokan manieron uzanta la sekvantan komandon:

Enlistiganta 1: Provi montranta komencanta la Porkon

$ Porko –x tieulo

….

….

Grunti>

Sur efektiviganta tion ĉi ni akiras la Grunti obuson Kiu permesas nin interaktive eniri kaj efektivigi la PORKAJN komunikaĵojn.

Ekzempla porka skribo akiri la vortan kalkulon estas donita montrita kiel nesufiĉe:

Enlistiganta 2: Ekzempla porko skribo

Enigaj_linioj = ŜARĜAS ‘/tmp/myLocalCopyOfMyWebsite’ AS (Linio:Chararray);

— Ĝi eltiras vortojn de ĉiu linio kaj metita ilin en porka sako

— Datatype, Tiam platigi la sakon akiri unu vorton sur ĉiu disputoVortoj = FOREACH enigaj_linioj PRODUKTAS PLATIGAS(TOKENIZE(Linio)) KIEL vorto;

— Ĝi elfiltras ajnajn vortojn kiu estas nur blankaj spacojFiltrita_vortan = FILTRILON vortoj DE vortaj MATĈOJ ‘\w ';

— Krei grupon por ĉiu vortoVortaj_grupoj = GRUPIGAS filtrita_vortojn DE vorto;

— Kalkuli la enirojn en ĉiu grupoVorto_kalkulas = FOREACH vortaj_grupoj PRODUKTAS KALKULON(Filtrita_vortojn) KIEL kalkulo, Grupo KIEL vorto;

— Ordoni la rekordojn de kalkuloOrdonita_vortan_kalkulon = ORDA vorto_kalkula BY kalkula DESC;ENTENI ordonita_vortan_kalkulon EN ‘/tmp/numberOfWordsInMyWebsite;

La supra koda ereto produktas paralelan executable taskoj kiu estas uzita distribui trans multoblaj maŝinoj en Hadoop grapolo kalkuli la nombron de vortoj en dataset kiel “Ĉiuj la retpaĝoj sur la interreto”.

PORKO en MapReduce:

Uzi PORKON en MapReduce maniero ni unue devus certigi ke Hadoop estas supre kaj kurado. Tio ĉi povas esti farita de efektiviganta la sekvantan komandon sur $ Akurata:

Enlistiganta 3: Kontrolanta Hadoop Havebleco

$ Hadoop dfs -ls /

Trovita 3 Eroj

Drwxrwxrwx – Hue supergroup 0 2011-12-08 05:20 /Tmp

Drwxr-xr-x – Hue supergroup 0 2011-12-08 05:20 /Uzanto

Drwxr-xr-x – Mapred supergroup 0 2011-12-08 05:20 /Var

$

Ĉi tiu peco de kodo elenlistigas unu aŭ pli da linioj se Hadoop estas supre kaj kurado. Nun ke ni certigis ke Hadoop estas kuranta lasas kontrolan Porkon. Komenci kun ni unue devus akiri la grunti akuratan kiel montrita en listero 1.

Enlistiganta 4: Elprovanta Porkon kun Hadoop

$ Porko –x tieulo

2013-12-06 06:39:44,276 [Ĉefa] INFO org.Apache.Porko.Ĉefa – Arbohakanta erarajn mesaĝojn al…

2013-12-06 06:39:44,601 [Ĉefa] INFO org.Apache.Porko….Konektanta al hadoop dosiero \

Sistemo ĉe: Hdfs://0.0.0.0:8020

2013-12-06 06:39:44,988 [Ĉefa] INFO org.Apache.Porko…. Konektanta mapi-redukti \

Laborpostena spuristo ĉe: 0.0.0.0:8021

Grunti> Cd hdfs:///

Grunti> LsHdfs://0.0.0.0/Tmp <Dir>

Hdfs://0.0.0.0/Uzanto <Dir>

Hdfs://0.0.0.0/Var <Dir>

Grunti>

Tiel, Nun ni povas vidi la Hadoop dosiera sistemo de ene de Porko. Unufoje ni atingas tion ĉi ni devus provi legi kelkaj en ĝi de nia loka dosiera sistemo. Fari tion ĉi ni unue devus kopii la dosieron de la loka dosiera Sistemo en HDFS uzanta Porkon.

Enlistiganta 5: Akiranta la testan datumon

Grunti> Mkdir tomcatwebFolgrunt> Cd tomcatwebFol

Grunti> CopyFromLocal /usr/interŝanĝado/apache-tomcat/webapps/MywebApp/ARANEAĴO-IINFa/araneaĵo.Xml webXMLFile

Grunti> Ls

Hdfs://0.0.0.0/TomcatwebFol/WebXMLFile <R 1> 10,924

Nun uzanta ĉi tiun ekzemplan testan datumon ene de Hadoop’s dosiera sistemo, Ni povas provi kaj efektivigi alian skribon. Ekzemple ni povas fari katon sur la dosiero ene de Porko vidi la enhavojn. Por atingi tion ĉi ni devas ŝarĝi la webXMLFile de la HDFS en Porka rilato.

Enlistiganta 6: Ŝarĝo kaj analizi la dosieron

Grunti> WebXMLFile = ŜARĜO ‘/usr/interŝanĝado/apache-tomcat/webapps/MywebApp/ARANEAĴO-IINFa/araneaĵo.Xml ‘ UZANTA PigStorage(‘>') AS (Kunteksto-param:Chararray, \Param-nomo:Chararray, \ Param-nomo:Chararray);

Grunti> RUBEJO WebXMLFile;(RootDir, /Usr/Oracle/AutoVueIntegrationSDK/FileSys/Deponejo/filesysRepository)

Grunti>

Porko ankaŭ provizas la grupan operacianton kiu helpas en grupiganta la tuples bazita sur ilia obuso.

Operaciantoj en PORKO:

Apache Porko havas nombron de interrilataj kaj diagnozaj operaciantoj. La plej grava ones estas enlistigita en la tablo sub:

Operacianta Nomo Tipo Priskribo
FILTRILO
Interrilata Elekti aron de tuples de rilato bazita sur kondiĉo.
FOREACH .
Interrilata Iterate la tuples de rilato kaj produktas datuman transformon
GRUPO
Interrilata Grupigi la datumon en unu aŭ pli da rilatoj.
JOIN
Interrilata Aliĝi du aŭ pli da rilatoj (Interna aŭ ekstera aliĝi).
ŜARĜO Interrilata Ŝarĝa datumo de la dosiera sistemo.
ORDO Interrilata
Ordigi rilaton bazita sur unu aŭ pli da kampoj.
FENDITA Interrilata Septo rilato en du aŭ pli da rilatoj.
VENDEJO Interrilata Vendeja datumo en la dosiera sistemo.
PRISKRIBI Diagnoza Reveni la schema de rilato.
RUBEJO Diagnoza Forĵeti la enhavojn de rilato al la ekrano.
KLARIGI Diagnoza Montri la MapReduce ekzekutaj planoj.

Uzanto Difinita Funkciojn:

Kvankam Porko estas potenca kaj utila scripting ilo klarigita en la kunteksto uzita en ĉi tiu artikolo, Ĝi povas esti farita eĉ pli potencan kun la helpo de uzanto-difinita funkciojn (UDFs). Porkaj skriboj povas uzi funkciojn kiu ni difinas por scenaroj kiel analizanta la enigan datumon aŭ aspektigadan produktadon datumo kaj paraj operaciantoj. Ĉi tiuj UDFs estas skribita en la Java lingvo kaj permesila Porko subteni laŭmendan pretigon.

Resuma:

Lasi nin konkludi nian diskuton kun la sekvanta aro de kugloj:

  • Apache Porko estas parto de la BigData ekosistemo
  • Apache Porko estas platformo uzita analizi datumajn arojn de pli granda volumo kiu konsistas de alta-nivela lingvo uzita esprimi datuman analizon programoj.
  • Apache PORKO povas esti elŝutita kaj instalita de la oficiala retejo – http://pig.apache.org.
  • Ĝi facile povas esti formita kaj efektivigita ene de Hadoop Distribuita Dosieran Sistemon.

Hope vi ĝuis la artikolon. Teni legadon!!

?

Etikedita sur:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share