- Hive Tutorium
- Hive - Zuhause
- Hive - Einführung
- Hive - Installation
- Hive - Datentypen
- Hive - Datenbank Erstellen
- Hive Tropfen Datenbank
- Hive - Tabelle Erstellen
- Hive - Ändern Tabelle
- Hive - Tropfen Tabellen
- Hive - Partitionierung
- Hive - Eingebaute-in-Operatoren
- Hive - Eingebaute Funktionen
- Hive - Ansichten und Indizes
HiveQL - Wählen Wo
Die Hive Abfragesprache(HiveQL) ist ein Abfragesprache für Hive zu prozess und analysieren strukturierte Daten in einem Metastore. In diesem Kapitel wird erläutert, wie die SELECT-Anweisung mit WHERE-Klausel verwendet werden.
SELECT-Anweisung wird verwendet, um die Daten aus einer Tabelle abrufen. WHERE-Klausel funktioniert ähnlich wie ein Bedingung. Es filtert die Daten mitHilfe der Bedingung und gibt Ihnen eine endliche Ergebnis. Die eingebauten Operatoren und Funktionen erzeugen einen Ausdruck, der die Bedingung erfüllt.
Syntax
Da unten ist die Syntax der SELECT-Abfrage:
SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT number];
Beispiel
Nehmen wir ein Beispiel für SELECT ... WHERE-Klausel. Angenommen, wir haben die Mitarbeitertabelle wie unten gegeben, mit Feldern mit dem Namen ID, Name, Gehalt, Benennung und Dept. Generieren Sie eine Abfrage, um abgerufen die MitarbeiterNähere, wer ein Gehalt von mehr als Rs 30000 verdienen werden.
+------+--------------+-------------+-------------------+--------+ | 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 ruft die MitarbeiterNähere unter Verwendung des obigen Szenario:
hive> SELECT * FROM employee WHERE salary>30000;
Nach erfolgreicher Ausführung 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 | +------+--------------+-------------+-------------------+--------+
JDBC-Programm
Der JDBC-Programm um sich zu bewerben wo Klausel für das gegebene Beispiel sieht wie folgt aus.
import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveQLWhere { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { // Register driver and create driver instance Class.forName(driverName); // get connection Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/userdb", "", ""); // create statement Statement stmt = con.createStatement(); // execute statement Resultset res = stmt.executeQuery("SELECT * FROM employee WHERE salary>30000;"); System.out.println("Result:"); System.out.println(" ID \t Name \t Salary \t Designation \t Dept "); while (res.next()) { System.out.println(res.getInt(1) + " " + res.getString(2) + " " + res.getDouble(3) + " " + res.getString(4) + " " + res.getString(5)); } con.close(); } }
Speichern Sie das Programm in einer Datei namens HiveQLWhere.java. Verwenden Sie die folgenden Befehle zu kompilieren und das Programm hinrichten.
$ javac HiveQLWhere.java $ java HiveQLWhere
Ausgabe:
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