Kas ir strops? Arhitektūra & Režīmi

Satura rādītājs:

Anonim

Šajā apmācībā jūs uzzināsiet

  • Kas ir strops?
  • Stropu arhitektūra
  • Dažādi stropa veidi
  • Kas ir Hive Server2 (HS2)?

Kas ir strops?

Strops ir ETL un datu noliktavas rīks, kas izstrādāts virs Hadoop izplatītās failu sistēmas (HDFS). Strops atvieglo darbu tādu darbību veikšanai kā

  • Datu iekapsulēšana
  • Ad-hoc vaicājumi
  • Milzīgu datu kopu analīze

Stropa būtiskās īpašības

  • Programmā Hive vispirms tiek izveidotas tabulas un datu bāzes, un pēc tam šajās tabulās tiek ielādēti dati.
  • Strops kā datu noliktava, kas paredzēta tikai strukturētu datu pārvaldībai un vaicājumiem, kas glabājas tabulās.
  • Strādājot ar strukturētiem datiem, Map Reduce nav optimizācijas un lietojamības funkciju, piemēram, UDF, taču Hive Framework ir. Vaicājumu optimizācija attiecas uz efektīvu vaicājuma izpildes veidu veiktspējas ziņā.
  • Stropa SQL iedvesmotā valoda atdala lietotāju no programmas Map Reduce sarežģītības. Mācīšanās ērtībai tā atkārtoti izmanto pazīstamus jēdzienus no relāciju datu bāzes pasaules, piemēram, tabulas, rindas, kolonnas un shēmas utt.
  • Hadoopa programmēšana darbojas uz plakaniem failiem. Tātad, Hive var izmantot direktoriju struktūras, lai "sadalītu" datus, lai uzlabotu veiktspēju noteiktos vaicājumos.
  • Jauna un svarīga stropa sastāvdaļa, ti, Metastore, ko izmanto shēmas informācijas glabāšanai. Šī metastore parasti atrodas relāciju datu bāzē. Mēs varam mijiedarboties ar stropu, izmantojot tādas metodes kā
    • Tīmekļa GUI
    • Java datu bāzes savienojamības (JDBC) saskarne
  • Lielākā daļa mijiedarbības parasti notiek komandrindas saskarnē (CLI). Strops nodrošina CLI, lai rakstītu stropu vaicājumus, izmantojot stropa vaicājumu valodu (HQL).
  • Parasti HQL sintakse ir līdzīga SQL sintaksei, kas ir pazīstama lielākajai daļai datu analītiķu. Zemāk esošajā vaicājuma paraugā tiek parādīti visi ieraksti, kas atrodas minētajā tabulas nosaukumā.
    • Vaicājuma paraugs : atlasiet * no
  • Strops atbalsta četrus failu formātus: TEXTFILE, SEQUENCEFILE, ORC un RCFILE (Record Columnar File).
  • Viena lietotāja metadatu glabāšanai Hive izmanto derby datu bāzi un vairāku lietotāju metadatu vai koplietotu metadatu gadījumā Hive izmanto MYSQL.

Lai iestatītu MySQL kā datu bāzi un saglabātu metadatu informāciju, pārbaudiet apmācību "HIVE un MYSQL instalēšana un konfigurēšana"

Daži no galvenajiem jautājumiem par stropu:

  • Galvenā atšķirība starp HQL un SQL ir tā, ka Hive vaicājums tiek izpildīts Hadoop infrastruktūrā, nevis tradicionālajā datu bāzē.
  • Hive vaicājuma izpilde būs tāda pati kā automātiski ģenerētu karšu samazināšanas darbu sērija.
  • Hive atbalsta nodalījumu un segmentu koncepcijas, lai ērti iegūtu datus, kad klients izpilda vaicājumu.
  • Hive atbalsta pielāgotu specifisko UDF (User Defined Functions) datu attīrīšanai, filtrēšanai utt. Saskaņā ar programmētāju prasībām var definēt Hive UDF.

Stropu un relāciju datu bāzes: -

Izmantojot Hive, mēs varam veikt kādu savdabīgu funkcionalitāti, kas netiek sasniegta Relāciju datu bāzēs. Lielam datu apjomam, kas ir beta baiti, ir svarīgi to vaicāt un iegūt rezultātus sekundēs. Strops to dara diezgan efektīvi, ātri apstrādā vaicājumus un otro reizi rada rezultātus.

Ļaujiet tagad redzēt, kas padara stropu tik ātru.

Dažas galvenās atšķirības starp Hive un relāciju datu bāzēm ir šādas;

Relāciju datu bāzes ir “ Schema on READ un Schema on Write ”. Vispirms izveidojiet tabulu, pēc tam ievietojiet datus konkrētajā tabulā. Relāciju datu bāzes tabulās var veikt tādas funkcijas kā Ievietošana, Atjaunināšana un Modifikācijas.

Strops ir " Shēma tikai lasīšanai ". Tātad funkcijas, piemēram, atjaunināšana, modifikācijas utt., Ar šo nedarbojas. Tā kā Hive vaicājums tipiskā klasterī darbojas ar vairākiem datu mezgliem. Tāpēc nav iespējams atjaunināt un modificēt datus vairākos mezglos. (Stropa versijas zem 0.13)

Tāpat Hive atbalsta modeli “ READ Many WRITE Once ”. Tas nozīmē, ka pēc tabulas ievietošanas mēs varam atjaunināt tabulu jaunākajās Hive versijās.

PIEZĪME . Tomēr jaunajā stropa versijā ir atjauninātas funkcijas. Stropu versijas (Hive 0.14) kā jaunas funkcijas piedāvā opcijas Atjaunināt un Dzēst

Stropu arhitektūra

Iepriekš redzamais ekrānuzņēmums detalizēti izskaidro Apache Hive arhitektūru

Strops sastāv galvenokārt no 3 galvenajām daļām

  1. Stropu klienti
  2. Stropu pakalpojumi
  3. Stropu glabāšana un skaitļošana

Stropu klienti:

Strops nodrošina dažādus draiverus saziņai ar cita veida lietojumprogrammām. Thrift balstītām lietojumprogrammām tas nodrošinās Thrift klientu saziņai.

Ar Java saistītām lietojumprogrammām tas nodrošina JDBC draiverus. ODBC draiveri, izņemot jebkāda veida lietojumprogrammas. Šie klienti un draiveri savukārt atkal sazinās ar Hive serveri Hive pakalpojumos.

Stropu pakalpojumi:

Klienta mijiedarbību ar Hive var veikt, izmantojot Hive Services. Ja klients vēlas veikt jebkādas ar vaicājumu saistītas operācijas stropā, tam ir jāsazinās, izmantojot stropa pakalpojumus.

CLI ir komandrindas interfeiss, kas darbojas kā stropu pakalpojums DDL (Data Definition Language) darbībām. Visi draiveri sazinās ar Hive serveri un galveno stropu pakalpojumu draiveri, kā parādīts iepriekš arhitektūras diagrammā.

Hive pakalpojumos esošais draiveris ir galvenais draiveris, un tas sazinās ar visa veida JDBC, ODBC un citām klientam specifiskām lietojumprogrammām. Vadītājs apstrādās šos pieprasījumus no dažādām lietojumprogrammām meta veikalu un lauku sistēmām tālākai apstrādei.

Stropu glabāšana un skaitļošana:

Stropu pakalpojumi, piemēram, meta veikals, failu sistēma un darba klients, savukārt sazinās ar stropu krātuvi un veic šādas darbības

  • Stropā izveidoto tabulu metadatu informācija tiek glabāta stropā "Meta storage database".
  • Vaicājumu rezultāti un tabulās ielādētie dati tiks saglabāti Hadoop klasterī HDFS.

Darba izpildes plūsma:

No iepriekš minētā ekrānuzņēmuma mēs varam saprast darba izpildes plūsmu stropā ar Hadoop

Datu plūsma stropā darbojas šādi:

  1. Vaicājuma izpildīšana no lietotāja saskarnes (lietotāja saskarne)
  2. Lai iegūtu plānu, vadītājs mijiedarbojas ar kompilatoru. (Šeit plāns attiecas uz vaicājuma izpildi) procesu un ar to saistīto metadatu informācijas vākšanu
  3. Sastādītājs izveido izpildāmā darba plānu. Sastādītājs sazinās ar Meta veikalu, lai iegūtu metadatu pieprasījumu
  4. Meta veikals nosūta metadatu informāciju atpakaļ kompilatoram
  5. Sastādītājs sazinās ar draiveri ar piedāvāto vaicājuma izpildes plānu
  6. Vadītājs izpildes plānu sūtīšana izpildes motoram
  7. Izpildes dzinējs (EE) darbojas kā tilts starp Hive un Hadoop, lai apstrādātu vaicājumu. DFS darbībām.
  • EE vispirms jāsazinās ar nosaukumu mezglu un pēc tam ar datu mezgliem, lai iegūtu tabulās saglabātās vērtības.
  • EE gatavojas iegūt vēlamos ierakstus no datu mezgliem. Faktiskie tabulu dati atrodas tikai datu mezglā. Lai gan no nosaukuma mezgla tā iegūst tikai vaicājuma metadatu informāciju.
  • Tas apkopo faktiskos datus no datu mezgliem, kas saistīti ar minēto vaicājumu
  • Izpildes dzinējs (EE) divvirzienu veidā sazinās ar stropā esošo meta veikalu, lai veiktu DDL (Data Definition Language) darbības. Šeit tiek veiktas tādas DDL darbības kā CREATE, DROP un ALTERING tabulas un datu bāzes. Meta veikalā tiks glabāta informācija tikai par datu bāzes nosaukumiem, tabulu nosaukumiem un kolonnu nosaukumiem. Tas iegūs datus, kas saistīti ar minēto vaicājumu.
  • Execution Engine (EE) savukārt sazinās ar Hadoop dēmoniem, piemēram, Name mezgls, Data mezgli un darba izsekotājs, lai izpildītu vaicājumu virs Hadoop failu sistēmas
  1. Notiek rezultātu iegūšana no draivera
  2. Rezultātu sūtīšana uz izpildes motoru. Kad rezultāti no datu mezgliem ir iegūti EE, rezultāti tiks nosūtīti atpakaļ draiverim un UI (priekšējā daļa)

Strops nepārtraukti kontaktējas ar Hadoop failu sistēmu un tās dēmoniem, izmantojot izpildes motoru. Punkta bulta darba plūsmas diagrammā parāda izpildes dzinēja saziņu ar Hadoopa dēmoniem.

Dažādi stropa veidi

Strops var darboties divos režīmos atkarībā no datu mezglu lieluma Hadoop.

Šie režīmi ir

  • Vietējais režīms
  • Kartes samazināšanas režīms

Kad izmantot lokālo režīmu:

  • Ja Hadoop ir instalēts pseido režīmā ar vienu datu mezglu, mēs šajā režīmā izmantojam stropu
  • Ja datu lielums ir mazāks attiecībā uz vienu vietējo mašīnu, mēs varam izmantot šo režīmu
  • Apstrāde būs ļoti ātra mazākām datu kopām, kas atrodas lokālajā mašīnā

Kad izmantot režīmu Kartes samazināšana:

  • Ja Hadoop ir vairāki datu mezgli un dati tiek sadalīti pa dažādiem mezgliem, mēs šajā režīmā izmantojam stropu
  • Tas veiks lielu datu kopu daudzumu un vaicājumus, kas tiks izpildīti paralēli
  • Izmantojot šo režīmu, var apstrādāt lielas datu kopas ar labāku veiktspēju

Stropā mēs varam iestatīt šo īpašumu, lai pieminētu, kurš režīms stropā var darboties? Pēc noklusējuma tas darbojas režīmā Kartes samazināšana, un vietējā režīmā jums var būt šāds iestatījums.

Strops strādāt vietējā režīmā

SET mapred.job.tracker = vietējais;

No Hive versijas 0.7 tā atbalsta režīmu, lai automātiski palaistu kartes samazinātu darbavietas vietējā režīmā.

Kas ir Hive Server2 (HS2)?

HiveServer2 (HS2) ir servera saskarne, kas veic šādas funkcijas:

  • Ļauj attālajiem klientiem izpildīt vaicājumus pret Hive
  • Iegūstiet minēto vaicājumu rezultātus

No jaunākās versijas tam ir dažas uzlabotas funkcijas, kuru pamatā ir Thrift RPC, piemēram;

  • Vairāku klientu vienlaicīgums
  • Autentifikācija

Kopsavilkums:

Strops ir ETL un datu noliktavas rīks virs Hadoop ekosistēmas un tiek izmantots strukturētu un daļēji strukturētu datu apstrādei.

  • Hive ir datu bāze, kas atrodas Hadoop ekosistēmā, veic DDL un DML darbības, un tā nodrošina elastīgu vaicājumu valodu, piemēram, HQL, lai labāk vaicātu un apstrādātu datus.
  • Tas nodrošina tik daudz funkciju salīdzinājumā ar RDMS, kuram ir noteikti ierobežojumi.

Lai lietotāja specifiskā loģika atbilstu klienta prasībām.

  • Tas nodrošina iespēju rakstīt un izvietot pielāgotus definētus skriptus un lietotāja definētas funkcijas.
  • Turklāt tas nodrošina nodalījumus un spaiņus īpašai glabāšanai.