Hive ETL: Ladataan JSON-, XML-, tekstitietoesimerkkejä

Hive ETL- ja tietovarastotyökaluna päälle Hadoop ekosysteemi tarjoaa toimintoja, kuten tietojen mallintamisen, tietojen käsittelyn, tietojenkäsittelyn ja tietojen kyselyn. Data Extraction in Hive tarkoittaa taulukoiden luomista Hiveen ja strukturoidun ja puolistrukturoidun tiedon lataamista sekä tietojen kyselyä vaatimusten perusteella.

Eräkäsittelyä varten aiomme kirjoittaa mukautettuja skriptejä käyttämällä mukautettua karttaa ja vähentää komentosarjoja käyttämällä komentosarjakieltä. Se tarjoaa SQL kuten ympäristö ja tuki helppoa kyselyä varten.

Työskentely strukturoidun tiedon kanssa Hiven avulla

Strukturoidut tiedot tarkoittaa, että tiedot ovat oikeassa muodossa rivejä ja sarakkeita. Tämä on enemmän kuin RDBMS tiedot oikeilla riveillä ja sarakkeilla.

Täällä aiomme ladata Hiven tekstitiedostoissa olevia strukturoituja tietoja

Vaihe 1) Tässä vaiheessa luomme taulukon "employees_guru" sarakkeiden nimillä, kuten Id, Nimi, Ikä, Osoite, Palkka ja Osasto tietotyypeineen.

Työskentely strukturoidun tiedon kanssa Hiven avulla

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan,

  1. Taulukon "employees_guru" luominen
  2. Ladataan tietoja Employees.txt-tiedostosta taulukkoon ”employees_guru”

Vaihe 2) Tässä vaiheessa näytämme tähän taulukkoon tallennetun sisällön "Valitse"-komennolla. Voimme tarkkailla taulukon sisältöä seuraavassa kuvakaappauksessa.

Työskentely strukturoidun tiedon kanssa Hiven avulla

– Esimerkkikoodinpätkä

Suoritettavat kyselyt

1) Create table employees_guru(Id INT, Name STRING, Age INT, Address STRING, Salary FLOAT, Department STRING)
> Row format delimited
> Fields terminated by ',';
2) load data local inpath '/home/hduser/Employees.txt' into TABLE employees_guru;
3) select * from employees_guru;

Puolistrukturoidun tiedon käsittely Hiven (XML, JSON) avulla

Hive suorittaa ETL-toiminnot Hadoop-ekosysteemissä toimimalla ETL työkalu. Kartan vähentäminen voi olla vaikeaa tietyntyyppisissä sovelluksissa, Hive voi vähentää monimutkaisuutta ja tarjoaa parhaan ratkaisun IT-sovelluksiin tietovarastointisektorin kannalta.

Puolistrukturoitua dataa, kuten XML ja JSON, voidaan käsitellä helpommin Hiven avulla. Ensin näemme, miten voimme käyttää Hivea XML.

XML HIVE-TAULUKKOON

Tässä aiomme ladata XML-tietoja Hive-taulukoihin ja haemme XML-tunnisteisiin tallennetut arvot.

Vaihe 1) Taulukon ”xmlsample_guru” luominen str-sarakkeella ja merkkijonotietotyypillä.

Työskentely puolistrukturoidun datan kanssa Hiven avulla

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  1. Taulukon "xmlsample_guru" luominen
  2. Ladataan tietoja test.xml-tiedostosta taulukkoon "xmlsample_guru"

Vaihe 2) Käyttäminen XPath () -menetelmällä pystymme hakemaan XML-tunnisteisiin tallennetut tiedot.

Työskentely puolistrukturoidun datan kanssa Hiven avulla

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  1. XPATH( ) -metodin avulla haemme arvot, jotka on tallennettu hakemistoihin /emp/esal/ ja /emp/ename/
  2. Arvot ovat Inside XML -tageissa. Tässä vaiheessa näytämme todelliset arvot, jotka on tallennettu XML-tunnisteisiin taulukossa “xmlsample_guru”.

Vaihe 3) Tässä vaiheessa haemme ja näytämme taulukon "xmlsample_guru" raaka-XML:n.

Työskentely puolistrukturoidun datan kanssa Hiven avulla

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  • Varsinainen XML-data, joka näytetään tunnisteiden kanssa
  • Jos tarkastelemme yksittäistä tunnistetta, se on "emp" ylätunnisteella ja "ename" ja "esal" alatunnisteina.

Koodikatkelma:

Suoritettavat kyselyt

1) create table xmlsample_guru(str string);                                                                                                   2) load data local inpath '/home/hduser/test.xml' overwrite  into table xmlsample_guru;
3) select xpath(str,'emp/ename/text()'), xpath(str,'emp/esal/text()') from xmlsample_guru;

JSON (JavaScript Object Notation)

Twitterin ja verkkosivustojen tiedot tallennetaan JSON-muodossa. Aina kun yritämme hakea tietoja online-palvelimista, se palauttaa JSON-tiedostoja. Käyttämällä Hiveä tietovarastona voimme ladata JSON-tietoja Hive-taulukoihin luomalla skeemoja.

JSON HIVE-TAULUKKOON

Tässä aiomme ladata JSON-tiedot Hive-taulukoihin ja haemme JSON-skeemaan tallennetut arvot.

Vaihe 1) Tässä vaiheessa aiomme luoda JSON-taulukon nimen "json_guru". Kun se on luotu, ladataan ja näytetään varsinaisen skeeman sisältö.

Json Hive Table

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  1. Taulukon "json_guru" luominen
  2. Ladataan tietoja test.jsonista taulukkoon "json_guru"
  3. Näytetään json_guru-taulukoihin tallennetun JSON-tiedoston todellinen skeema

Vaihe 2) Get_json_object() -menetelmän avulla voimme noutaa JSON-hierarkiaan tallennetut data-arvot

Json Hive Table

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  1. Käyttämällä get_json_object (str,'$.ecode) se voi hakea ekokoodeja taulukosta json_guru. Vastaavasti käyttämällä get_json_object (str,'$.name) ,get_json_object (str,'$.Sali) se hakee ename sal -arvot taulukosta json_guru
  2. Arvot, jotka on tallennettu JSON-hierarkiaan json_gurussa

Koodinpätkä

Suoritettavat kyselyt

1) create table json_guru(str string);
2) load data inpath 'home/hduser/test.json' into table json_guru;
3) select * from json1;
4) select get_json_object(str,'$.ecode') as ecode, get_json_object(str,'$.ename') as ename ,get_json_object(str,'$.sal') as salary from json_guru;

Monimutkainen JSON TO HIVE TABLE

Tässä aiomme ladata monimutkaiset JSON-tiedot Hive-taulukoihin ja haemme JSON-skeemaan tallennetut arvot

Vaihe 1) Luodaan complexjson_gurua yhden sarakkeen kentällä

Monimutkainen Json To Hive -pöytä

Yllä olevasta kuvakaappauksesta voimme havaita seuraavan

  1. Luominen taulukkoon complexjson_guru yhden sarakkeen kentällä merkkijonotietotyyppinä
  2. Ladataan tietoja complexjson_guru-tiedostoon emp.json-kompleksin JSON-tiedostosta

Vaihe 2) Käyttämällä get_json_objectia voimme noutaa todellisen sisällön, joka on tallennettu JSON-tiedostohierarkiaan.

Seuraavasta kuvakaappauksesta voimme nähdä complexjson_guru-tiedostoon tallennettujen tietojen tulosteen.

Monimutkainen Json To Hive -pöytä

Vaihe 3) Tässä vaiheessa "Select" -komennolla voimme todella nähdä monimutkaiset JSON-tiedot, jotka on tallennettu taulukkoon "complexjson_guru"

Monimutkainen Json To Hive -pöytä

- Esimerkkikoodinpätkä,

Suoritettavat kyselyt

1) create table complexjson_guru(json string);
2) load data inpath 'home/hduser/emp.json' into table complexjson_guru;
3) select get_json_object(json,'$.ecode') as ecode ,get_json_object(json,'$.b') as code, get_json_object(json,'$.c') from complexjson_guru;
4) select * from complexjson_guru;

Hive in Real Time Projects – Milloin ja missä käyttää

Milloin ja missä Hivea käytetään Hadoop-ekosysteemissä:

Kun

  • Kun työskentelet vahvojen ja tehokkaiden tilastotoimintojen kanssa Hadoop-ekosysteemissä
  • Kun työskentelet strukturoidun ja puolistrukturoidun tiedonkäsittelyn kanssa
  • Tietovarastotyökaluna Hadoopin kanssa
  • Reaaliaikainen tiedonotto HBASE:lla, Hiveä voidaan käyttää

Missä

  • ETL:n ja tietovarastotyökalun käytön helpottamiseksi
  • Tarjota SQL-tyyppinen ympäristö ja tehdä kyselyitä kuten SQL HIVEQL:n avulla
  • Voit käyttää ja ottaa käyttöön mukautettuja kartta- ja vähennyskomentosarjoja asiakkaan erityisvaatimuksia varten