Apache Pig and Hadoop platform – How to process your data?

Apache Pig and Hadoop

Apache Pig at Hadoop,,en,ay isang mataas na antas ng scripting wika at isang bahagi ng,,en,Apache Hadoop Eco-system,,en,Alam namin na ang MapReduce ay isang programming model na ginagamit sa Hadoop platform,,en,para sa parallel processing,,en,Ginagamit din ng baboy ang mekanismo ng MapReduce sa loob upang maproseso ang data sa isang ipinamamahagi na kapaligiran,,en,Ang baboy ay talagang nagbibigay ng abstraction sa tuktok ng MapReduce modelo upang gawing mas madali ang programming para sa mga developer,,en,Ang script ng baboy ay katulad ng SQL syntax,,en,kaya ang mga developer ay maaari lamang magsulat ng SQL tulad ng mga pahayag para sa pagpoproseso ng data nang hindi gumagamit ng MapReduce nang direkta,,en,Hadoop at Big data key terms,,en,Ang kapangyarihan ng Pig ay tinukoy sa pamamagitan ng kakayahan nito upang ilarawan ang anumang mga gawain sa pag-aaral ng data habang dumadaloy ang data,,en,traversing mula sa isang bahagi sa isa pang bahagi,,en,Ang iba pang mahalagang katangian ng Pig ay nito,,en,upang maging,,pt,epektibo,,en,mga unctions,,en,UDF,,da – How to process your data?

Pangkalahatang-ideya ng: Apache Pig is a high level scripting language and a part of Apache Hadoop Eco-system. Pig scripting is mainly used for data analysis and manipulation on top of Hadoop platform. We know that MapReduce is a programming model used in Hadoop platform (for parallel processing), Pig also uses MapReduce mechanism internally to process data on a distributed environment. Pig actually provides an abstraction on top of MapReduce model to make programming easier for the developers. Pig scripting is similar to SQL syntax, so the developers can simply write SQL like statements for data processing without using MapReduce directly.








Read more Hadoop and Big data key terms

Panimula: The power of Pig is defined by its capability to describe any data analysis tasks as data flows, traversing from one component to another component. The other important feature of Pig is its User Daefined Functions (UDF), na maaaring magamit upang ma-access ang code na nakasulat sa maraming popular na mga antas ng mataas na antas tulad ng Java,,en,at Ruby atbp,,en,Ang mga script ng baboy ay maaari ring isagawa mula sa iba pang mga wika,,en,maaari mong makuha ang kalamangan ng Pig upang magsulat ng mga kumplikadong problema sa negosyo,,en,na dapat na isagawa sa isang parallel na paraan sa isang ipinamamahagi na sistema ng computing,,en,pagkatapos ay i-invoke ito mula sa iba't ibang mga application bilang isang sangkap,,en,Konsepwal na pag-iisip,,en,Paano gumagana ang Pig,,en,Ang pinakamahusay na halimbawa ng pag-unawa sa daloy ng trabaho ng isang baboy script ay upang maunawaan ang proseso ng ETL,,en,Sa isang ETL,,en,I-extract,,en,Transform,,en,Mag-load,,en,ang data ay kinuha mula sa mga pinagkukunan,,en,ito ay naproseso batay sa lohika ng negosyo at sa wakas ay naka-imbak sa isang database,,en,Ang parehong mekanismo ay sinusunod sa pagpapatupad ng isang Pig script,,en,Ang mga sumusunod ay ang mga hakbang,,en,Pig extract data mula sa mga mapagkukunan,,en,flat file,,en,dynamic na data atbp.,,en,gamit ang UDF,,en,Ito ang input,,en, Python, and Ruby etc. On the other side, Pig scripts can also be executed from other languages. So, you can take the advantage of Pig to write complex business problems, which should be executed in a parallel way on a distributed computing system. And, then invoke it from different applications as a component.



Conceptual thinking – How Pig works

The best example of understanding the work flow of a Pig script is to understand the ETL process. In an ETL (Extract – Transform – Load) process, first, the data is extracted from the sources, second, it is processed based on the business logic and finally stored in a database. The same mechanism is followed in a Pig script execution. Following are the steps.

  • First, Pig extract data from sources (stream, flat file, dynamic data etc.) using UDF – This is the input.
  • Second, Ang baboy ay gumaganap ng mga operasyon nito,,en,tulad ng piliin,,en,umulit at iba pang mga transform,,en,sa data,,en,Ito ang unang pagproseso,,en,Ipinapasa ng baboy ang data sa iba pang mga komplikadong sistema para sa higit pang pagproseso,,en,Ito ay karagdagang pagproseso,,en,Ang mga baboy ay nag-iimbak ng resulta sa Hadoop na Distributed File System,,en,Ito ang imbakan,,en,Panloob,,en,ang lahat ng mga baboy na gawain ay serye ng mga trabaho sa MapReduce na tumatakbo sa isang hadoop cluster,,en,Ang mga trabaho na ito ay na-optimize ng mga interpreter ng Pig upang mapahusay ang pagganap,,en,Mga bahagi ng Apache Pig,,en,Ang mga pangunahing bahagi ng Apache Pig ay ang imprastraktura at ang layer ng wika,,en,Layer ng imprastraktura,,en,Ang layer na ito ay naglalaman ng mga compiler upang bumuo ng pagkakasunud-sunod ng mga trabaho ng MapReduce mula sa mga script ng Pig,,en,Gumagana ito sa isang ipinamamahagi na parallel computing framework,,en,Layer ng wika,,en,Ang layer ng wika ay naglalaman ng isang tekstong wika na kilala bilang 'Pig Latin',,en (like select, iterate and other transforms) on the data – This is the initial processing.
  • Third, Pig passes the data to other complex systems for more processing (using UDF) – This is further processing.
  • Finally, Pig stores the result into Hadoop Distributed File System (HDFS) – This is the storage.

Internally, all the pig tasks are series of MapReduce jobs which runs on a hadoop cluster. These jobs are optimized by Pig interpreters to improve performance.

Apache Pig components

The main components of Apache Pig are its infrastructure layer and the language layer.

Infrastructure layer: This layer contains compilers to generate sequence of MapReduce jobs from the Pig scripts. It works on a distributed parallel computing framework.

Language layer: The language layer contains a textual language known as ‘Pig Latin’. Ang syntax ng wikang ito ay mas katulad ng pahayag ng SQL,,en,Mayroon itong mga sumusunod na tampok,,en,Simple programming,,en,Nagbibigay ito ng isang simpleng paraan upang magsulat ng mga script upang makamit ang parallel na pagpapatupad ng mga gawain sa analytics ng data,,en,Maaari rin itong magsagawa ng kumplikadong mga gawain kabilang ang mga kumplikadong transformation ng data bilang isang daloy ng mga pagkakasunud-sunod ng data,,en,Kaya madali itong isulat,,en,maunawaan at mapanatili ang mga script ng Latin na Pig,,en,Mas mahusay na pag-optimize,,en,Tulad ng lahat ng mga gawain ay naka-encode,,en,Ang pag-optimize ay awtomatikong ginagawa ng system,,en,Napapalawak,,en,Ang wika ay maaaring palawakin upang isulat ang mga pasadyang function,,en,Pig - Mga Operator,,en,Maraming mga operator ang baboy upang maisagawa ang mga gawain nito,,en,Ang ilan sa mga operator ay 'LOAD',,en,'FOREACH,,en,Pig - Tinukoy ng Mga Function ng User,,en,Sinusuportahan ng Pig ang Mga Tinukoy na Function ng Gumagamit upang magsagawa ng kumplikadong mga gawain,,en,Ang mga function na ito ay maaaring nakasulat sa wikang Java din,,en. It has the following features.

  • Simple programming: It provides a simple way to write scripts to achieve parallel execution of data analytics tasks. It can also perform complex tasks including complex data transformations as a flow of data sequences. So it is easy to write, understand and maintain Pig Latin scripts.
  • Better optimization: As all the tasks are encoded, optimization is automatically done by the system.
  • Extendable: The language can be extended to write custom functions.

Pig – Operators: Pig has lot of operators to perform its tasks. Some of the operators are ‘LOAD’, ‘FOREACH’ at iba pa.

Pig – User Defined Functions: Pig supports User Defined Functions to perform complex tasks. These functions can be written in Java language also.



Paano mag-install at magsagawa ng Pig,,en,Sa bahaging ito ay tatalakayin namin ang pag-install at pagpapatupad ng mga script ng Pig,,en,Magsimula tayo nang isa-isa,,en,Kinakailangan,,en,Ang lahat ng mga gumagamit ng UNIX at Windows ay dapat magkaroon,,en,na naka-install sa kanilang system,,en,HADOOP_HOME,,en,dapat itakda nang maayos,,en,Pig I-download,,en,Mag-download ng isang matatag na bersyon ng Pig,,en,Pagkatapos ay i-unpack ang pamamahagi at itago ang isang tala ng baboy na script at ang mga katangian ng baboy na file at ang kanilang lokasyon,,en,Pagkatapos nito idagdag ang direktoryo ng 'bin' sa iyong landas tulad ng ipinapakita sa ibaba,,en,export PATH = /,,en,path-to-baboy,,en,baboy-n.n.n / bin,,en,PATH,,en,Subukan ngayon ang pag-install ng baboy sa pamamagitan ng paggamit ng sumusunod na command,,en,Ipapakita nito ang lahat ng tulong na may kaugnayan sa baboy,,en,Kung dumating ito nang maayos,,en,ang iyong pag-install ng baboy ay matagumpay,,en,baboy-tulong,,en,Patakbuhin / Ipatupad ang mga utos ng Pig,,en,Ang mga baboy ng Latin na baboy at mga Pig script ay maaaring tumakbo sa parehong 'Lokal,,en?

In this section we will discuss about the installation and execution of Pig scripts. Let’s start one by one.

  • Prerequisite: All UNIX and Windows users should have Hadoop (Download) at Dyaba (Download) installed in their system. HADOOP_HOME at JAVA_HOME should be set properly.
  • Pig Download: First, download a stable version of Pig (Download). Then unpack the distribution and keep a note of pig script and pig properties file and their location. After this add the ‘bin’ directory to your path as shown below.

[kodigo] $ export PATH=/<path-to-pig>/pig-n.n.n/bin:$PATH [/kodigo]

Now test the pig installation by using the following command. It will show all the help related to pig. If it comes properly, then your pig installation is successful.

[kodigo] $ pig –help [/kodigo]

  • Run/Execute Pig commands: Pig Latin statements and Pig scripts can be run in both ‘Local’ at 'MapReduce,,en,Para sa lokal na mode,,en,kailangan ng isang makina at para sa,,en,Hadoop cluster at,,en,kailangan ang pag-install,,en,Ang baboy ay maaaring tumakbo sa dalawang paraan,,en,maaari mong gamitin ang 'baboy,,en,utos sa pamamagitan ng paggamit ng 'bin / baboy Perl,,en,gamit ang 'java,,en,utos bilang 'java -cp pig.jar',,en,Ang dalawang mga mode ay tinukoy batay sa imprastraktura na makukuha tulad ng lokal na pag-install o clustered kapaligiran atbp,,en,Lokal na Mode,,en,Upang magpatakbo ng Pig sa lokal na mode,,en,i-install ang lahat ng mga kinakailangang file sa iyong lokal na file system at pagkatapos ay patakbuhin ito mula sa lokal na host,,en,Ipinapakita ang Pig na tumatakbo sa lokal na mode,,en,Patakbuhin ang Pig sa lokal na mode,,en,baboy -x lokal,,en,Mapreduce Mode,,en,Para sa mapreduce mode,,en,kailangan mong i-install ang Hadoop cluster at HDFS,,en,Ito ang default na mode,,en,kaya hindi mo maaaring tukuyin ang '-x,,en,bandila,,en,Ipinapakita ang Pig na tumatakbo sa mapreduce mode,,en,Patakbuhin ang Pig sa mapreduce mode,,en,Ito ang default na mode * /,,en,baboy,,en’ mode. For local mode, a single machine is required and for MapReduce mode, Hadoop cluster and HDFS installation is needed. Pig can be run in two ways. First, you can use ‘pig’ command by using ‘bin/pig Perl ‘ script. Second, by using ‘java’ command as ‘java -cp pig.jar’. These two modes are defined based on the infrastructure available like local installation or clustered environment etc.

Local Mode: To run Pig in local mode, install all required files in your local file system and then run it from local host.








Listing 1: Showing Pig running in local mode

[kodigo]

/* Run Pig in local mode */

$ pig -x local

[/kodigo]

Mapreduce Mode: For mapreduce mode, you need to install Hadoop cluster and HDFS. It is the default mode, so you may not specify ‘-x’ flag.

Listing 2: Showing Pig running in mapreduce mode

[kodigo]

/* Run Pig in mapreduce mode – This is the default mode*/

$ pig

OR

$ pig -x mapreduce,,en,Sa pangkalahatan ang Pig ay maaaring patakbuhin sa pamamagitan ng paggamit ng interactive o batch mode,,en,Sa interactive mode,,en,Grunt,,en,Ang shell ay ginagamit upang pumasok sa indibidwal na mga pahayag ng Latin na Pig,,en,At sa batch mode,,en,Ang mga baboy ng Latin na baboy ay inilalagay sa isang script file na may,,en,extension at tumakbo mula sa command line,,en,Ito ay katulad ng mga pahayag ng SQL at mga script,,en,Paano patakbuhin ang mga pahayag ng Pig Latin at Pig script,,en,Sa seksyon na ito ay susubukan namin ang ilang mga halimbawa upang patakbuhin ang mga pahayag ng Pig Latin at mga script ng Pig,,en,ang mga empleyado ay na-load mula sa imbakan,,en,at pagkatapos ay ang mga pangalan ay nakuha at dumped bilang isang output,,en,Ipinapakita ang mga pahayag ng Pig,,en,E = LOAD 'empleyado,,en,N = FOREACH E GENERATE name,,en,DUMP N,,en,Ang sumusunod ay ang output,,en,Neel,,en,ang parehong gawain ay maaaring gawin sa pamamagitan ng paggamit ng script file,,en,halimbawa.pig,,en,Ang snippet ng code ay ipinapakita sa ibaba,,en,Ipinapakita ang script ng Pig,,en,Dulo ng script,,en

[/kodigo]

In general Pig can be run by using interactive or batch mode. In interactive mode, ‘ Grunt’ shell is used to enter individual Pig Latin statements. And in batch mode, Pig Latin statements are put in a script file with (.pig) extension and run from command line. This is similar to SQL statements and scripts.

How to run Pig Latin statements and Pig script?

In this section we will try some examples to run Pig Latin statements and Pig scripts. In the following example, employees are loaded from the storage, and then the names are extracted and dumped as an output.

Listing 3: Showing Pig statements

[kodigo]
grunt> E = LOAD ’employees’ USING PigStorage() AS (pangalan:chararray, age:int);

grunt> N = FOREACH E GENERATE name;

grunt> DUMP N;

[/kodigo]

Following is the output:

(John)

(Nicholas)

(Dan)

(Neel)

Now, the same task can be done by using a script file (example.pig). The code snippet is shown below.

Listing 4: Showing Pig script

[kodigo]

/* example.pig */

E = LOAD ’employees’ USING PigStorage() AS (pangalan:chararray, age:int);

N = FOREACH E GENERATE name;

DUMP N;

/* End of script */

[/kodigo]

Now run the script file as shown below

[kodigo]

$ baboy -x lokal na halimbawa.pig,,en,Sa artikulong ito nakita natin na ang Pig ay isang napakalakas na scripting language batay sa Hadoop eco-system at MapReduce programming,,en,Maaari itong magamit upang iproseso ang malaking dami ng data sa isang ibinahagi na kapaligiran,,en,Ang mga pahayag ng baboy at mga script ay pareho sa mga pahayag ng SQL,,en,kaya maaaring gamitin ito ng mga developer nang hindi nakatuon nang labis sa mekanismo ng pinagbabatayan,,en,Ang Hope Apache Pig ay magbabago sa mga darating na araw at suportahan ang mas mahusay na computing,,en,Magbasa pa,,en,Hadoop at Big data na mga artikulo,,en,techalpine.com/apache-pig-and-hadoop-platform-how-to-process-your-data,,en

[/kodigo]

Following is the output:

(John)

(Nicholas)

(Dan)

(Neel)



Konklusyon: In this article we have seen that Pig is a very powerful scripting language based on Hadoop eco-system and MapReduce programming. It can be used to process large volume of data in a distributed environment. Pig statements and scripts are similar to SQL statements, so developers can use it without focusing much on the underlying mechanism. Hope Apache Pig will evolve in coming days and support more efficient computing.

You may like to read How to process your data using Apache Pig?

Another interesting article for you Hadoop key terms, Simplified

Read More Hadoop and Big data articles

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share