Wat is Hive-querytaal: HiveQL-operators

Wat is Hive Query Language (HiveQL)?

Hive Query-taal (HiveQL) is een querytaal in Apache Hive voor het verwerken en analyseren van gestructureerde gegevens. Het scheidt gebruikers van de complexheid van de kaart Verminder de programmering. Het hergebruikt algemene concepten uit relationele databases, zoals tabellen, rijen, kolommen en schema's, om het leren te vergemakkelijken. Hive biedt een CLI voor het schrijven van Hive-query's met behulp van Hive Query Language (HiveQL).

De meeste interacties vinden meestal plaats via een opdrachtregelinterface (CLI). Over het algemeen is de syntaxis van HiveQL vergelijkbaar met de SQL syntaxis waarmee de meeste data-analisten bekend zijn. Hive ondersteunt vier bestandsformaten: TEXTFILE, SEQUENCEFILE, ORC en RCFILE (Record Columnar File).

Hive gebruikt de derby-database voor de opslag van metadata voor één gebruiker, en voor metadata van meerdere gebruikers of gedeelde metadata gebruikt Hive MYSQL.

HiveQL ingebouwde operators

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

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

Hieronder staan ​​de belangrijkste typen ingebouwde operators in HiveQL:

  • Relationele operators
  • Rekenkundige operatoren
  • logische Operators
  • Operators op Complex types
  • complex soort Constructeurs

Relationele operators in Hive SQL

We gebruiken relationele operatoren voor relatievergelijkingen tussen twee operanden.

  • Operatoren zoals gelijk aan, Niet gelijk aan, kleiner dan, groter dan …etc
  • De operandtypen zijn allemaal getaltypen in deze operators.

De following Tabel geeft ons details over relationele operators en het gebruik ervan in HiveQL:

Ingebouwde operator Omschrijving operand
X = Y TRUE

als uitdrukking X equivalent is aan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X != Y TRUE

als uitdrukking X niet equivalent is aan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X <Y TRUE

als uitdrukking X kleiner is dan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X <= Y TRUE

als uitdrukking X kleiner is dan of gelijk is aan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X>Y TRUE

als uitdrukking X groter is dan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X>= Y TRUE

als uitdrukking X groter is dan of gelijk is aan uitdrukking Y

Overigewise FALSE.

Er zijn alle primitieve typen voor nodig
X IS NUL TRUE als expressie X evalueert naar NULL otherwise FALSE. Er zijn alle soorten nodig
X IS NIET NUL Juist

Als expressie X evalueert naar NULL otherwise TRUE.

Er zijn alle soorten nodig
X ZOALS Y TRUE

Als snarenpatroon X overeenkomt met Y anderswise FALSE.

Neemt alleen snaren
X RLIKE Y NULL als X of Y NULL is, TRUE als een subtekenreeks van X overeenkomt met de Java reguliere expressie Y, anderswise FALSE. Neemt alleen snaren
X REGEXP Y Hetzelfde als RLIKE. Neemt alleen snaren

HiveQL 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 Operators.
  • De operandtypen zijn allemaal getaltypen in deze operators

Voorbeeld voorbeeld:

2 + 3 geeft resultaat 5.

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

De following Tabel geeft ons details over rekenkundige operatoren in Hive Query Language:

Ingebouwde operator Omschrijving operand
X+Y Het retourneert de uitvoer van het toevoegen van X- en Y-waarden. Er zijn alle nummertypen nodig
X – Y Het retourneert de uitvoer van het aftrekken van Y van de X-waarde. Er zijn alle nummertypen nodig
X * Y Het retourneert de uitvoer van het vermenigvuldigen van X- en Y-waarden. Er zijn alle nummertypen nodig
X/Y Het retourneert de uitvoer van het delen van Y door X. Er zijn alle nummertypen nodig
X% Y Het retourneert de rest die het resultaat is van het delen van X door Y. Er zijn alle nummertypen nodig
X & Y Het retourneert de uitvoer van bitwise EN van X en Y. Er zijn alle nummertypen nodig
X | ja Het retourneert de uitvoer van bitwise OF van X en Y. Er zijn alle nummertypen nodig
X ^ Y Het retourneert de uitvoer van bitwise XOR van X en Y. Er zijn alle nummertypen nodig
~X Het retourneert de uitvoer van bitwise NIET van X. Er zijn alle nummertypen nodig

Hive QL Logische operators

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

  • Voor logische bewerkingen zoals AND, OR, NOT tussen operanden gebruiken we deze Operators.
  • De operandtypen zijn allemaal van het BOOLEAN-type in deze operators

De following Tabel geeft ons details over Logische operators in HiveSQL:

Operators Omschrijving Operanden
X EN Y WAAR als zowel X als Y WAAR zijn, anderswise FALSE. 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, anderswise FALSE. Alleen Booleaanse typen
X || ja Hetzelfde als X OF Y, maar hier gebruiken we || symbool Alleen Booleaanse typen
NIET X WAAR als X ONWAAR is, anderswise FALSE. Alleen Booleaanse typen
!X Hetzelfde als NOT X, maar hier gebruiken we! symbool Alleen Booleaanse typen

Operators op Complex Types

De following Tabel geeft ons details over Complex Typ Operators. Dit zijn operators die een ander mechanisme bieden voor toegang tot elementen in complex types.

Operators Operanden Omschrijving
Een] A is een array en n is een geheel getal Het retourneert het n-de element in array A. Het eerste element heeft de index 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 following Tabel geeft ons details over Complex soort Constructeurs. Het zal instanties op com bouwenplex gegevenstypen. Deze zijn van complex gegevenstypen zoals Array-, Map- en Struct-typen in Bijenkorf.

In deze sectie gaan we de bewerkingen zien die worden uitgevoerd op Complex soort Constructeurs.

Operators Operanden Omschrijving
reeks (val1, val2, …) Het zal een array creëren met de gegeven elementen zoals vermeld zoals val1, val2
Creëer_ unie (tag, val1, val2, …) Er wordt een samenvoegingstype gemaakt met de waarden waarnaar wordt verwezen door de tagparameter
kaart (sleutel1, waarde1, sleutel2, waarde2, …) Er wordt een kaart gemaakt met de gegeven sleutel/waarde-paren die in operanden worden vermeld
Genoemd_struct (naam1, val1, naam2, val2, …) Er wordt een structuur gemaakt met de gegeven veldnamen en waarden die in operanden worden vermeld
STRUCT (val1, val2, val3, …) Creëert een structuur met de opgegeven veldwaarden. De veldnamen van de structuur zijn col1, col2, .

Samengevat

  • Hive Query Language (HiveQL) is een querytaal in apache Hive voor het verwerken en analyseren van gestructureerde gegevens.
  • Hive biedt ingebouwde operators voor gegevensbewerkingen die kunnen worden geïmplementeerd op de tabellen in het Hive-magazijn.
  • Typen ingebouwde operators in HiveQL zijn:
  • Relationele operators
  • Rekenkundige operatoren
  • logische Operators
  • Operators op Complex types
  • complex soort Constructeurs