HiveQL-zelfstudie (Hive Query Language): ingebouwde operators

Inhoudsopgave:

Anonim

Wat is HiveQL (Hive Query Language)?

Hive biedt een CLI om Hive-query's te schrijven met behulp van Hive Query Language (HiveQL). Over het algemeen is de HQL-syntaxis vergelijkbaar met de SQL-syntaxis waarmee de meeste gegevensanalisten bekend zijn.

De op SQL geïnspireerde taal van Hive scheidt de gebruiker van de complexiteit van Map Reduce-programmering. Het hergebruikt bekende concepten uit de relationele databasewereld, zoals tabellen, rijen, kolommen en schema's, om het leren te vergemakkelijken.

De meeste interacties vinden meestal plaats via een opdrachtregelinterface (CLI). Hive biedt een CLI om Hive-query's te schrijven met behulp van Hive Query Language (Hive-QL).

Over het algemeen is de HiveQL-syntaxis vergelijkbaar met de SQL-syntaxis waarmee de meeste gegevensanalisten bekend zijn. Hive ondersteunt vier bestandsindelingen, namelijk TEXTFILE, SEQUENCEFILE, ORC en RCFILE (Record Columnar File).

  • Voor de opslag van metagegevens van één gebruiker gebruikt Hive Derby-database en
  • Voor metagegevens van meerdere gebruikers of gedeelde metagegevens gebruikt Hive MYSQL

Ingebouwde operators

Hive biedt ingebouwde operators voor gegevensbewerkingen die kunnen worden geïmplementeerd op de tabellen die aanwezig zijn in het Hive-magazijn.

Deze operatoren worden gebruikt voor wiskundige bewerkingen op operanden, en het retourneert een specifieke waarde volgens de toegepaste logica.

Typen ingebouwde operators in HIVE zijn:

  • Relationele operators
  • Rekenkundige operatoren
  • Logische operators
  • Operators op complexe typen
  • Complex type constructeurs

Relationele operators:

We gebruiken relationele operatoren voor het vergelijken van relaties tussen twee operanden.

  • Operatoren zoals gelijk aan, Niet gelijk aan, kleiner dan, groter dan… enz
  • De operandtypen zijn alle typen nummers in deze operatoren.

De volgende tabel geeft ons details over relationele operatoren en het gebruik ervan.

Ingebouwde operator Omschrijving Operand
X = Y WAAR als uitdrukking X gelijk is aan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X! = Y WAAR als uitdrukking X niet gelijk is aan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X WAAR als uitdrukking X kleiner is dan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X <= Y WAAR als uitdrukking X kleiner is dan of gelijk is aan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X> Y WAAR als uitdrukking X groter is dan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X> = Y WAAR als uitdrukking X groter is dan of gelijk is aan uitdrukking Y Anders ONWAAR. Alle primitieve typen zijn nodig
X IS NULL WAAR als uitdrukking X resulteert in NULL, anders ONWAAR. Er zijn alle soorten voor nodig
X IS NIET NULL FALSE Als uitdrukking X resulteert in NULL, anders TRUE. Er zijn alle soorten voor nodig
X ZOALS Y TRUE Als stringpatroon X overeenkomt met Y, anders FALSE. Neemt alleen snaren
X RLIKE Y NULL als X of Y NULL is, WAAR als een deelstring van X overeenkomt met de Java-reguliere expressie Y, anders FALSE. Neemt alleen snaren
X REGEXP Y Hetzelfde als RLIKE. Neemt alleen snaren

Rekenkundige operatoren :

We gebruiken rekenkundige operatoren voor het uitvoeren van rekenkundige bewerkingen op operanden

  • Rekenkundige bewerkingen zoals optellen, aftrekken, vermenigvuldigen en delen tussen operanden gebruiken we deze operatoren.
  • De operandtypen zijn allemaal getaltypen in deze operatoren

Voorbeeldvoorbeeld:

2 + 3 geeft resultaat 5.

In dit voorbeeld is '+' de operator en zijn 2 en 3 operanden. De retourwaarde is 5

De volgende tabel geeft ons details over rekenkundige operatoren

Ingebouwde operator Omschrijving Operand
X + Y Het retourneert de uitvoer van het toevoegen van de X- en Y-waarde. Alle typen nummers zijn nodig
X - Y Het retourneert de uitvoer van het aftrekken van Y van de X-waarde. Alle typen nummers zijn nodig
X * Y Het retourneert de uitvoer van het vermenigvuldigen van X- en Y-waarden. Alle typen nummers zijn nodig
X / Y Het retourneert de uitvoer van het delen van Y van X. Alle typen nummers zijn nodig
X% Y Het retourneert de rest die het resultaat is van het delen van X door Y. Alle typen nummers zijn nodig
X & Y Het retourneert de uitvoer van bitsgewijze EN van X en Y. Alle typen nummers zijn nodig
X | Y Het retourneert de uitvoer van bitsgewijze OF van X en Y. Alle typen nummers zijn nodig
X Y Het retourneert de uitvoer van bitsgewijze XOR van X en Y. Alle typen nummers zijn nodig
~ X Het retourneert de uitvoer van bitsgewijze NOT van X. Alle typen nummers zijn nodig

Logische operators:

We gebruiken logische operatoren voor het uitvoeren van logische bewerkingen op operanden

  • Logische bewerkingen zoals EN, OF, NIET tussen operanden gebruiken we deze operatoren.
  • De operandtypen zijn allemaal van het BOOLEAN-type in deze operators

De volgende tabel geeft ons details over logische operatoren

Operatoren Omschrijving Operanden
X EN Y WAAR als X en Y beide WAAR zijn, anders ONWAAR. Alleen Booleaanse typen
X && Y Hetzelfde als X EN Y, maar hier gebruiken we het &&-symbool Alleen Booleaanse typen
X OF Y WAAR als X of Y of beide WAAR zijn, anders ONWAAR. Alleen Booleaanse typen
X || Y Hetzelfde als X OF Y maar hier gebruiken we || symbool Alleen Booleaanse typen
NIET X WAAR als X ONWAAR is, anders ONWAAR. Alleen Booleaanse typen
!X Hetzelfde als NIET X, maar hier gebruiken we! symbool Alleen Booleaanse typen

Operators op complexe typen:

De volgende tabel geeft ons details over complexe type-operators. Dit zijn operators die een ander mechanisme bieden om toegang te krijgen tot elementen in complexe typen.

Operatoren Operanden Omschrijving
Een] A is een array en n is een integer-type Het retourneert het n-de element in de array A. Het eerste element heeft een index van 0
M [sleutel] M is een kaart en sleutel heeft type K Het retourneert de waarden die bij de sleutel op de kaart horen

Complex type constructeurs:

De volgende tabel geeft ons details over constructeurs van het complexe type. Het zal instanties construeren op complexe gegevenstypen. Dit zijn complexe gegevenstypen zoals Array-, Map- en Struct-typen in Hive.

In deze sectie gaan we de bewerkingen bekijken die worden uitgevoerd op Complexe typeconstructeurs.

Operatoren Operanden Omschrijving
array (val1, val2, ...) Het zal een array maken met de gegeven elementen zoals vermeld, zoals val1, val2
Create_ union (tag, val1, val2, ...) Het zal een verenigingstype creëren met de waarden waarnaar wordt verwezen door de tag-parameter
kaart (sleutel1, waarde1, sleutel2, waarde2, ...) Het zal een kaart maken met de gegeven sleutel / waarde-paren die in operanden worden genoemd
Named_struct (naam1, waarde1, naam2, waarde2, ...) Het zal een structuur creëren met de opgegeven veldnamen en waarden die in operanden worden genoemd
STRUCT (val1, val2, val3, ...) Creëert een structuur met de opgegeven veldwaarden. Struct-veldnamen zijn col1, col2,.

Overzicht:

Hive biedt een aantal ingebouwde functies en operators om de gegevens te manipuleren die zijn opgeslagen in het Hive-magazijn. Hive is vergelijkbaar met SQL-taal, die alle soorten gegevensbewerkingen en query's op tabellen en databases ondersteunt.