Hive - Ansicht und Indizes


Advertisements

In diesem Kapitel wird das Erstellen und Ansichten zu verwalten. Ansichten werden basierend auf Benutzeranforderungen erzeugt. Sie können alle Ergebnissatz-Daten als Ansicht speichern. Die Verwendung der Ansicht in Bienenstock ist dieselbe wie die der Ansicht in SQL. Es ist ein Standard-RDBMS-Konzept. Wir können alle DML-Operationen für eine Sicht hinrichten.

Erstellen einer Ansicht

Sie können erstellen einen Ansicht bei die zum Zeitpunkt der Ausführen einer SELECT-Anweisung. Die Syntax ist wie folgt:

CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT table_comment]
AS SELECT ...

Beispiel

Nehmen wir ein Beispiel für die Ansicht. übernehmen Mitarbeiter tabelle wie unten gegeben, mit den Feldern ID, Name, Gehalt, Benennung und Dept. Generieren Sie eine Abfrage, um abrufen die MitarbeiterEinzelheiten, wer verdienen ein Gehalt mehr als Rs 30000. Wir speichern das Ergebnis in einer Ansicht mit dem Namen emp_30000.

+------+--------------+-------------+-------------------+--------+
| 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 MitarbeiterEinzelheiten unter Verwendung des obigen Szenario:

hive> CREATE VIEW emp_30000 AS
   > SELECT * FROM employee
   > WHERE salary>30000;

Fallenlassen eines Ansicht

Verwenden Sie folgende Syntax, um Fallenlassen eine Ansicht:

DROP VIEW view_name

Die folgende Abfrage Fallenlassen eine Ansicht benannt emp_30000:

hive> DROP VIEW emp_30000;

Erstellen eines Index

Ein Index ist nichts als ein Zeiger auf eine bestimmte Spalte einer Tabelle. Das Erstellen eines Index bedeutet die Schaffung eines Zeigers auf einer bestimmten Spalte einer Tabelle. Die Syntax ist wie folgt:

CREATE INDEX index_name
ON TABLE base_table_name (col_name, ...)
AS 'index.handler.class.name'
[WITH DEFERRED REBUILD]
[IDXPROPERTIES (property_name=property_value, ...)]
[IN TABLE index_table_name]
[PARTITIONED BY (col_name, ...)]
[
   [ ROW FORMAT ...] STORED AS ...
   | STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]

Beispiel

Nehmen wir ein Beispiel für den Index. Verwenden Sie die gleiche Tabelle employee, die wir bereits mit den Feldern eingesetzt ID, Name, Gehalt, Benennung und Dept. Erstellen Sie einen Index index_salary auf der Gehaltsspalte der Tabelle employee benannt.

Die folgende Abfrage erstellt einen Index:

hive> CREATE INDEX inedx_salary ON TABLE employee(salary)
   > AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler';

Es ist ein Zeiger auf die Gehaltsspalte. Wenn die Spalte modifiziert, werden die Änderungen sind unter Verwendung eines Index-Wert gelagert.

Fallenlassen eines Index

Die folgende Syntax wird verwendet, um einen Index zu Fallenlassen:

DROP INDEX <index_name> ON <table_name>

Die folgende Abfrage fällt ein Index mit dem Namen index_salary:

hive> DROP INDEX index_salary ON employee;
Advertisements