Hive - Integrierte Operatoren


Advertisements

In diesem Kapitel erklärt die Integrierte Operatoren von Hive. Es gibt vier Arten von Operatoren in Hive:

  • Vergleichsoperatoren
  • Arithmetische Operatoren
  • Logische Operatoren
  • Komplexe Operatoren

Vergleichsoperatoren

Diese Operatoren werden verwendet, um zwei Operanden zu vergleichen. In der folgenden Tabelle werden die relationalen Operatoren verfügbar in Hive:

Betreiber Operand Beschreibung
A = B Alle vom Urtyp TRUE, falls Ausdruck A ist äquivalent zu ,Ausdruck B, sonst FALSE.
A != B Alle vom Urtyp TRUE falls Ausdruck A ist nicht gleich Ausdruck B ,sonst FALSE.
A < B Alle vom Urtyp TRUE, falls Ausdruck A weniger als Ausdruck B ,sonst FALSE.
A <= B Alle vom Urtyp TRUE, falls Ausdruck A kleiner oder gleich Ausdruck B, sonst FALSE.
A > B Alle vom Urtyp TRUE, falls Ausdruck A größer als B Ausdruck ,sonst FALSE.
A >= B Alle vom Urtyp TRUE, falls Ausdruck A größer oder gleich Ausdruck B ,sonst FALSE.
A IS NULL alle Arten TRUE falls Ausdruck A ,wertet auf NULL ,sonst FALSE.
A IS NOT NULL alle Arten FALSE, wenn Ausdruck A ,wertet auf NULL ansonsten TRUE.
A LIKE B Streicher TRUE, wenn Zeichenfolgenmuster A ,Streichhölzer, zu B ,sonst FALSE.
A RLIKE B Streicher NULL, wenn A oder B ist NULL, TRUE, wenn jeder Teilkette von A Streichhölzer der Java reguläre Ausdruck B, sonst FALSE.
A REGEXP B Streicher Gleich wie RLIKE.

Beispiel

Nehmen wir an, die Mitarbeiter Tabelle wird zusammensetzt von Feldern mit dem Namen ID, Name, Gehalt, Benennung und Abteilung, wie unten dargestellt. Generieren Sie eine Abfrage, um abgerufen die Mitarbeiterdaten, dessen ID ist 1205 .

+-----+--------------+--------+---------------------------+------+
| Id  | Name         | Salary | Designation               | Dept |
+-----+--------------+------------------------------------+------+
|1201 | Gopal        | 45000  | Technical manager         | TP   |
|1202 | Manisha      | 45000  | Proofreader               | PR   |
|1203 | Masthanvali  | 40000  | Technical writer          | TP   |
|1204 | Krian        | 40000  | Hr Admin                  | HR   |
|1205 | Kranthi      | 30000  | Op Admin                  | Admin|
+-----+--------------+--------+---------------------------+------+

Die folgende Abfrage ist ausgeführt, um die MitarbeiterEinzelheiten unter Verwendung der obigen Tabelle abzurufen:

hive> SELECT * FROM employee WHERE Id=1205;

Auf erfolgreicher hinrichtung der Abfrage, erhalten Sie die folgende Antwort zu sehen:

+-----+-----------+-----------+----------------------------------+
| ID  | Name      | Salary    | Designation              | Dept  |
+-----+---------------+-------+----------------------------------+
|1205 | Kranthi   | 30000     | Op Admin                 | Admin |
+-----+-----------+-----------+----------------------------------+

Die folgende Abfrage ist ausgeführt, um abrufen die MitarbeiterEinzelheiten, die ein Gehalt von mehr als oder gleich 40000 Rs.

hive> SELECT * FROM employee WHERE Salary>=40000;

Auf erfolgreicher hinrichtung der Abfrage, erhalten Sie die folgende Antwort zu sehen:

+-----+------------+--------+----------------------------+------+
| ID  | Name       | Salary | Designation                | Dept |
+-----+------------+--------+----------------------------+------+
|1201 | Gopal      | 45000  | Technical manager          | TP   |
|1202 | Manisha    | 45000  | Proofreader                | PR   |
|1203 | Masthanvali| 40000  | Technical writer           | TP   |
|1204 | Krian      | 40000  | Hr Admin                   | HR   |
+-----+------------+--------+----------------------------+------+

Arithmetische Operatoren

Diese Operatoren unterstützen verschiedene gemeinsame arithmetische Operationen an den Operanden. Alle von ihnen Rückkehr Nummerntypen. In der folgenden Tabelle werden die arithmetischen Operatoren verfügbar in Hive:

Betreiber Operand Beschreibung
A + B alle Nummerntypen Gibt dem Ergebnis der Hinzufügen von A und B.
A - B alle Nummerntypen Verleiht das Ergebnis von Subtraktion B von A.
A * B alle Nummerntypen Verleiht das Ergebnis der Multiplikation von A und B.
A / B alle Nummerntypen Verleiht das Ergebnis der trenn B von A.
A % B alle Nummerntypen Verleiht die Erinnerung ergeb aus der trenn A durch B .
A & B alle Nummerntypen Verleiht das Ergebnis der bitweisen AND von A und B.
A | B alle Nummerntypen Verleiht das Ergebnis der bitweisen OR von A und B.
A ^ B alle Nummerntypen Verleiht das Ergebnis der bitweisen XOR von A und B.
~A alle Nummerntypen Verleiht das Ergebnis der bitweisen NOT von A.

Beispiel

Die folgende Abfrage addiert zwei Zahlen, 20 und 30.

hive> SELECT 20+30 ADD FROM temp;

Auf erfolgreicher hinrichtung der Abfrage, erhalten Sie die folgende Antwort zu sehen:

+--------+
|   ADD  |
+--------+
|   50   |
+--------+

Logische Operatoren

Die Betreiber sind logische Ausdrücke. Alle von ihnen zurückkehren entweder TRUE oder FALSE.

Betreiber Operands Beschreibung
A AND B boolean TRUE wenn sowohl A und B sind TRUE, sonst FALSE.
A && B boolean gleiche wie A AND B.
A OR B boolean TRUE, wenn entweder A oder B oder beide sind TRUE, sonst FALSE.
A || B boolean gleiche wie A OR B.
NOT A boolean TRUE, wenn A ist FALSE ,sonst FALSE.
!A boolean gleiche wie NOT A.

Beispiel

Die folgende Abfrage wird verwendet, um MitarbeiterEinzelheiten, dessen Abteilung ist TP und Gehalt ist mehr als Rs 40.000 abrufen.

hive> SELECT * FROM employee WHERE Salary>40000 && Dept=TP;

Auf erfolgreicher hinrichtung der Abfrage, erhalten Sie die folgende Antwort zu sehen:

+------+--------------+-------------+-------------------+--------+
| ID   | Name         | Salary      | Designation       | Dept   |
+------+--------------+-------------+-------------------+--------+
|1201  | Gopal        | 45000       | Technical manager | TP     |
+------+--------------+-------------+-------------------+--------+

Komplexe Operatoren

Diese Operatoren liefern einen Ausdruck, um die Elemente von Komplexe Typen zugreifen.

Betreiber Operand Beschreibung
A[n] A ist eine Array and n is eine int Es Retouren die n-te Element in dem Array A. Das erste Element hat den Index 0.
M[key] M ist ein Map<K, V> und key hat typ K Es Retouren den Wert, entsprechenden der dem key in der Karte.
S.x S ist ein struct Es Retouren die x feld von S.
Advertisements