Impala - Créer une vue

Une vue n'est rien de plus qu'une instruction du langage de requête Impala qui est stockée dans la base de données avec un nom associé. Il s'agit d'une composition d'une table sous la forme d'une requête SQL prédéfinie.

Une vue peut contenir toutes les lignes d'un tableau ou celles sélectionnées. Une vue peut être créée à partir d'une ou de plusieurs tables. Les vues permettent aux utilisateurs de -

  • Structurez les données d'une manière que les utilisateurs ou les classes d'utilisateurs trouvent naturelle ou intuitive.

  • Restreignez l'accès aux données afin qu'un utilisateur puisse voir et (parfois) modifier exactement ce dont il a besoin et rien de plus.

  • Résumez les données de diverses tables qui peuvent être utilisées pour générer des rapports.

Vous pouvez créer une vue à l'aide du Create View déclaration d'Impala.

Syntaxe

Voici la syntaxe de l'instruction create view. IF NOT EXISTSest une clause facultative. Si nous utilisons cette clause, une table avec le nom donné est créée, uniquement s'il n'y a pas de table existante dans la base de données spécifiée avec le même nom.

Create View IF NOT EXISTS view_name as Select statement

Exemple

Par exemple, supposons que nous ayons une table nommée customers dans le my_db base de données dans Impala, avec les données suivantes.

ID  NAME      AGE   ADDRESS     SALARY
--- --------- ----- ----------- --------
1   Ramesh    32    Ahmedabad   20000
2   Khilan    25    Delhi       15000
3   Hardik    27    Bhopal      40000
4   Chaitali  25    Mumbai      35000
5   kaushik   23    Kota        30000
6   Komal     22    MP          32000

Voici un exemple de Create View Statement. Dans cet exemple, nous créons une vue commecustomers table qui contient les colonnes, le nom et l'âge.

[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS 
select name, age from customers;

Lors de l'exécution de la requête ci-dessus, une vue avec les colonnes souhaitées est créée, affichant le message suivant.

Query: create VIEW IF NOT EXISTS sample AS select * from customers 
Fetched 0 row(s) in 0.33s

Vérification

Vous pouvez vérifier le contenu de la vue que vous venez de créer, en utilisant le select comme indiqué ci-dessous.

[quickstart.cloudera:21000] > select * from customers_view;

Cela produira le résultat suivant.

Query: select * from customers_view 
+----------+-----+ 
| name     | age | 
+----------+-----+ 
| Komal    | 22  | 
| Khilan   | 25  | 
| Ramesh   | 32  | 
| Hardik   | 27  | 
| Chaitali | 25  | 
| kaushik  | 23  | 
+----------+-----+ 
Fetched 6 row(s) in 4.80s

Création d'une vue à l'aide de Hue

Ouvrez l'éditeur de requête Impala, sélectionnez le contexte comme my_dbet tapez le Create View et cliquez sur le bouton Exécuter comme indiqué dans la capture d'écran suivante.

Après avoir exécuté la requête, si vous faites défiler vers le bas, vous pouvez voir le view nommé sample créé dans la liste des tableaux comme indiqué ci-dessous.