HCatalog

Šta je Apache HCatalog?

Apache HCatalog je alat koji omogućava lakše upravljanje skladištenjem podataka i tabelama na Hadoop-u, što pruža mogućnost korisnicima raznih alata za analizu podataka da lakše čitaju i pišu podatke. Praktično je HCatalog sloj na Hadoop-u koji omugućava prezentovanje podataka sa HDFS-a u vidu tabela i oslobađa korisnike briga o tome gde i u kom formatu su sačuvani podaci. HCatalog može da prikaže podatke koji su u RCFile formatu, tekstualne fajlove, sekventne fajlove i sve ih prikazuje u tabelarnom obliku. Još jedna zgodna stvar koja dolazi uz HCatalog je i REST API koji omogućava pristup tabelama i spoljnim korisnicima.

HCatalog Hue

HCatalog Hue

Kako HCatalog radi?

HCatalog podržava čitanje i pisanje fajlova u formatima za koje je moguće napisati Hive SerDe (Serializer-Deserializer), ali podrazumevani formati su oni koje sam već pomenuo. Da ne zaboravim, takođe, CSV i JSON su podržani kao podrazumevani. HCatalog je napravljen da radi sa Hive metastore servisom i uključuje Hive DDL komponente. Takođe HCatalog pruža i interfejs za Pig i MapReduce. U principu HCatlog zajedno sa Hive-om jako liči na poznati SQL, relacione baze podataka, u suštini razlika je u nijansama.

Primena

Kao što sam i napisao, glavni cilj ovog alata je prikaz podataka sa HDFS-a koji mogu da budu nezgodni za praćenje u izvornom obliku. Koliko sam do sad radio sa Hadoop-om, uvek sam i koristio HCatalog. Jako je dobro ako ubacite neke podatke u HDFS da proverite da li ste to dobro odradili, a dosta i olakšava rad ako obrađujete podatke koristeći Hive. Praktično, sa ovim alatom možete da struktuirate podatke i lakše ih obradite. Naravno, dešava se i da HCatalog ne može da bude primenjen. Na primer, ako imate neki tekst koji ste ubacili u HDFS i želite samo prosto da izračunate ukupan broj reči, nema smisla da svaku reč stavite u jedan red i da ih posle pomoću Hive-a prebrojite, nego ćete samo koristiti Pig i dobiti rezultat. Ako biste, na primer, želeli da znate broj svake reči onda biste prvo koristili Pig ili neki drugi MapReduce kod, a zatim dobijeni rezultat koji ste smestili u HDFS bi mogli da formatirate koristeći HCatalog. Ovo je samo primer da ovaj alat nije nužno koristiti uvek, ali takođe i ako se koristi ne mora da bude prvi korišćen. Trenutno koristim HCatalog da u tabeli prikažem logove i moram reći da je mnogo lakše kad se sve preradi HCatalog-om, pa zatim mogu da koristim Hive sa lakoćom.

HCatalog Terminal

HCatalog Terminal

Prednosti

Po mom mišljnju najveća prednost ovog alata je prikaz podataka. Činjenica da sa lakoćom možete od nekih nestruktuiranih podataka dobiti struktuirane je veliko olakšanje, posebno u  slučaju kada radite neku prostiju operaciju. Pogotovo ako možete koristiti Hive, onda vas postojanje ovakvog alata oslobađa DDL dela koda. Još jedna prednost je da je HCatalog podržan u Hue alatu kojeg sam opisao u prošlom tekstu. Na taj način na klik završavate veliki deo posla. Ovo je posebno zgodno za one koji ne vole terminal.
Sledeći tekst je o Apache Hive-u koji treba zajedno sa ovim tekstom da stvori celinu o jednom segmentu obrade podataka. Razmisljao sam o tome da li prvo da pišem o ovom alatu ili Hive-u i shvatio sam da iako su tesno povezani mogu se koristiti razdvojeno i za različite svrhe. Takođe, na vama je da utvrdite kada koristite koji. Ja samo mogu da opišem neka svoja trenutna iskustva. Moram reći da defintivno preporučujem da više proučite ovaj alat, posebno ako vas zanima obrada podataka. Nastavljamo zajedno da hadupujemo i čekaju vas neke nove stvari na blogu za koje se nadam da će biti od koristi.