Dziļi ienirt cūkā



Šis emuāra ziņojums ir dziļa iegremdēšanās Pig un tās funkcijās. Jūs atradīsit demonstrāciju par to, kā jūs varat strādāt ar Hadoop, izmantojot Pig bez atkarības no Java.

Viens no lielākajiem iemesliem, kāpēc pēdējā laikā Hadoop popularitāte strauji pieauga, ir fakts, ka tam virsū darbojas tādas funkcijas kā Pig un Hive, ļaujot programmētājiem, kas nav programmētāji, ar funkcionalitāti, kas iepriekš bija ekskluzīva tikai Java programmētājiem. Šīs funkcijas bija augošā pieprasījuma pēc Hadoop profesionāļiem sekas. Citas funkcijas, kuras izmanto Hadoop profesionāļi no Java fona, ir Flume, Sqoop, HBase un Oozie.





Lai saprastu, kāpēc jums nav nepieciešama Java, lai apgūtu Hadoop, veiciet pārbaudi šo emuāru .

1Cūku vēsture



Sapratīsim, kā šīs funkcijas darbojas.

Mēs visi zinām, ka zināšanas par programmēšanu ir nepieciešamas MapReduce kodu rakstīšanai. Bet ko tad, ja man ir rīks, kas var veikt kodēšanu, ja es vienkārši sniegtu informāciju? Tieši tur Cūka izrāda savu muskuļu spēku. Cūka izmanto platformu ar nosaukumu Pig Latin, kas abstraktē programmēšanu no Java MapReduce idiomas apzīmējumā, kas padara MapReduce programmēšanu augstu, līdzīgu SQL RDBMS sistēmām. Kodi, kas rakstīti Pig Latin MapReduce, automātiski tiek pārveidoti par līdzvērtīgām MapReduce funkcijām. Vai tas nav lieliski? Vēl viens prātam neaptverams fakts ir tāds, ka 200 Java līniju aizvietošanai ir nepieciešamas tikai 10 cūkas līnijas.



10 cūkas rindas = 200 Java rindas

Tas nozīmē ne tikai to, ka profesionāļi, kas nav Java profesionāļi, izmanto Hadoop, bet arī liecina par uzsvērto faktu, ka Pig izmanto vienāds skaits tehnisko izstrādātāju.

Turklāt, ja vēlaties rakstīt pats savu MapReduce kodu, varat to izdarīt jebkurā valodā, piemēram, Perl, Python, Ruby vai C. Dažas pamata darbības, kuras mēs varam veikt jebkurā datu kopā, izmantojot Pig, ir Group, Join, Filter un Sort . Šīs darbības var veikt ar strukturētiem, nestrukturētiem un arī daļēji strukturētiem datiem. Tie nodrošina ad-hoc veidu, kā izveidot un izpildīt MapReduce darbavietas ļoti lielās datu kopās.

Tālāk sapratīsim Stropu. Tā ir atvērtā koda, beta baitu mēroga datu noliktavas sistēma, kuras pamatā ir Hadoop datu apkopošanai, vaicājumiem un analīzei. Strops Hadoop nodrošina SQL līdzīgu saskarni. Varat izmantot Hive, lai lasītu un rakstītu failus Hadoop un palaistu pārskatus no BI rīka. Daži tipiski Hadoop funkcionalitātes veidi ir:

Ļaujiet man jums parādīt demonstrāciju, izmantojot Pig on Clickstream datu kopu
Mēs izmantosim šos Clickstream datus un veiksim Transformācijas, Pievienošanās un Grupēšana.

ClickStream ir virkne peles klikšķu, ko lietotājs veic, piekļūstot internetam, īpaši uzraudzīts, lai novērtētu personas intereses mārketinga nolūkos. To galvenokārt izmanto tiešsaistes mazumtirdzniecības vietnes, piemēram, Flipkart un Amazon, kas izseko jūsu darbības, lai ģenerētu ieteikumus. Clickstream datu kopai, kuru esam izmantojuši, ir šādi lauki:

1. Valodas veids, ko atbalsta tīmekļa lietojumprogramma

2. Pārlūkprogrammas tips

loģistiskā regresija pitona kodā

3. Savienojuma veids

4. Valsts ID

5. Laika zīmogs

konvertēt virkni datumā Java

6. URL

7. Lietotāja statuss

8. Lietotāja tips

Tas izskatīsies šādi ar atbilstošajiem laukiem.

Zemāk ir saraksts ar pārlūkprogrammu tipiem, kurus dažādi cilvēki ir izmantojuši, sērfojot noteiktā vietnē. Sarakstā ir tādas pārlūkprogrammas kā Internet Explorer, Google Chrome, Lynx un tā tālāk.

Interneta savienojuma veids var būt LAN / Modems / Wifi. Pilnu sarakstu skatiet zemāk esošajā attēlā:

Nākamajā attēlā atradīsit to valstu sarakstu, no kurām vietne ir piesaistījusi auditoriju, kā arī viņu personu apliecinošos dokumentus.

Kad esam apkopojuši visas datu kopas, mums jāpalaiž čaulas Pig’s Grunt, kas tiek palaista, lai palaistu komandas Pig.

Pirmā lieta, kas mums jādara, palaižot Grunt apvalku, ir Clickstream datu ielāde Pig’s attiecībās. Relācija nav nekas cits kā tabula. Zemāk ir norādīta komanda, kuru mēs izmantojam, lai HDFS saturošu failu ielādētu Pig's attiecībās.

Relācijas shēmu mēs varam pārbaudīt ar komandu aprakstīt click_stream.

Tagad mums jāpievieno atsauces faili, kuros būs detalizēta informācija par valstu sarakstu ar to ID un dažādiem pārlūka veidiem, kā arī to ID.

Tagad mums ir divi atsauces faili, taču tie ir jāsavieno, lai izveidotu relāciju.
Mēs norādām komandu connection_ref, lai norādītu savienojuma veidu.

kārtot masīvu c ++ augošā secībā

Tagad, kad mums ir darba savienojums un izveidota saistība, mēs parādīsim, kā mēs varam pārveidot šos datus.
Katram Clickstream ierakstam mēs ģenerēsim jaunu ierakstu citā formātā, t.i., pārveidotos datus. Jaunajā formātā tiks iekļauti tādi lauki kā TimeStamp, Browser type, Country ID un daži citi.

Mēs varam veikt filtrēšanas darbību, lai samazinātu lielos datus. Dažādi lietotāju veidi ir Administratori, Viesi vai Boti. Mūsu demonstrācijā esmu filtrējis viesu sarakstu.

Ja atceraties, valsts ID ir iekļauts klikšķu plūsmā, un mēs ielādējām failu country_ref, kurā bija valstu nosaukumi kopā ar tā ID. Tādējādi mēs varam veikt Join failu starp abiem failiem un apvienot datus, lai gūtu ieskatu.

Ja mēs esam pievienojušies datiem, tad grupējot mēs varam uzzināt dažādas valstis, no kurām lietotāji atrodas. Kad mums būs šie dati, mēs varam veikt skaitīšanas operāciju, lai identificētu lietotāju skaitu no konkrētas valsts.

Nav raķešu zinātne, lai gūtu ieskatu no Big Data. Šīs ir tikai dažas no daudzajām funkcijām, kuras esmu ieviesis, un ar tādiem rīkiem kā Hive, Hbase, Oozie, Sqoop un Flume vēl ir jāizpēta datu bagātība. Tātad, tie no jums, kas attur sevi no Hadoop apguves, ir pienācis laiks mainīties.

Vai mums ir jautājums? Lūdzu, pieminējiet tos komentāru sadaļā, un mēs ar jums sazināsimies.

Saistītās ziņas:

4 veidi, kā lietot R un Hadoop kopā

Viss par Cloudera sertificēto Apache Hadoop izstrādātāju