In diesem Kapitel erklärt die Integrierte Operatoren von Hive. Es gibt vier Arten von Operatoren in Hive:
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. |
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 | +-----+------------+--------+----------------------------+------+
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. |
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 | +--------+
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. |
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 | +------+--------------+-------------+-------------------+--------+
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. |