Types de table dans Apache Hive

Contenu

Vue d'ensemble

  • Apache Ruche es una herramienta imprescindible para cualquier persona interesada en la ciencia y la ingeniería de datos.
  • En savoir plus sur les différents types de tables Apache Hive

introduction

J'ai passé plus d'une demi-décennie à travailler avec la pile technologique Big Data et à consulter des clients dans divers domaines. Une chose que j'ai remarquée est la fréquence à laquelle Hive est utilisé comme solution de stockage dans tous les domaines d'activité.

Vous ne pouvez pas ignorer Apache Hive lorsque vous apprenez Apache Hadoop.

ruche apache

Hive es parte del gran ecosistema de Hadoop que le posibilita proporcionar un esquema para grandes datos que residen en HDFS. La plupart d'entre vous connaissent le SGBDR et ses tables. Nous les utilisons si souvent qu'ils font maintenant partie de nos vies. Et voici la question: les tables dans Hive ne sont pas différentes.

Vous êtes-vous déjà demandé quels pourraient être les différents types de tables dans Hive? C'est ce dont nous allons parler dans cet article !!

Table des matières

  1. Qu'est-ce qu'Apache Hive?
  2. Types de table dans Apache Hive # 1: tables gérées
  3. Types de table dans Apache Hive # 2: Tables externes
  4. Table gérée vs table externe: quelle est la différence?
  5. Identifier le type de table Apache Hive

Qu'est-ce qu'Apache Hive?

Ruche Apache est un système de stockage de données pour Apache Hadoop. Fournit un accès équivalent SQL pour les données dans HDFS afin que Hadoop puisse être utilisé comme structure d'entrepôt. Hive vous permet de fournir une structure sur des données largement non structurées. Après avoir établi la structure, vous pouvez utiliser Hive pour interroger les données sans connaître Java ou Map Reduce.

Langage de requête Hive (HQL) cuenta con una semántica y funciones similares a las de SQL estándar en la base de données relacional para que los analistas de bases de datos experimentados puedan ingresar fácilmente a los datos.

panneaux de ruche apache

Quelles sont les fonctionnalités offertes par Hive?

Apache Hive fournit les fonctionnalités suivantes:

  1. Apache Hive fournit un modèle de requête plus simple avec moins de codage que Map Reduce
  2. HQL et SQL ont une syntaxe équivalente
  3. Fournit de nombreuses fonctionnalités qui rendent l'analyse facile à utiliser.
  4. Le temps de réponse est généralement beaucoup plus rapide que les autres types de requêtes sur les mêmes énormes ensembles de données
  5. Apache Hive prend en charge l'exécution sur différents frameworks informatiques
  6. Prend en charge les requêtes de données ad hoc sur HDFS
  7. Apache Hive prend en charge les fonctions définies par l'utilisateur, scripts et un format E / S personnalisé pour étendre ses fonctionnalités.
  8. Il est évolutif et extensible à divers types de données et à des ensembles de données plus volumineux.
  9. Les pilotes JDBC et ODBC matures permettent à de nombreuses applications d'extraire des données de Hive pour des rapports fluides
  10. Hive permet aux utilisateurs de lire des données dans des formats arbitraires, en utilisant SerDes et les formats d'entrée / Sortir
  11. Hive dispose d'une architecture bien établie pour la gestion des métadonnées, authentification et optimisation des requêtes.
  12. Il existe une grande communauté de professionnels et de développeurs qui travaillent et utilisent Hive.

Types de table dans Apache Hive

Ce sont les types de tables dans Apache Hive:

Tables gérées

Dans une table gérée, Hive gère à la fois les données et le schéma de la table. Les données seront situées dans un dossier portant le nom de la table dans le magasin de données Hive, qui est simplement un emplacement de fichier dans HDFS.

L'emplacement est configurable par l'utilisateur lorsque Hive est installé. Par géré ou contrôlé, nous entendons que si vous supprimez (supprimer) une table gérée, Hive supprimera à la fois le schéma (la description du tableau) que les fichiers de données associés à la table. L'emplacement par défaut est / Nom d'utilisateur / ruche / Stock).

Syntaxe pour créer une table gérée

CRÉER UN TABLEAU S'IL N'EXISTE PAS (échange STRING,
symbole CHAINE,
price_open FLOAT,
price_high FLOAT,
price_low FLOAT,
price_adj_close FLOAT)
CHAMPS DÉLIMITÉS AU FORMAT DE LIGNE TERMINÉS PAR ',' ;

comment tables gérées, tu peux aussi copier le schéma (mais pas les données) à partir d'une table existante:

CRÉER UNE TABLE EXTERNE S'IL N'EXISTE PAS mydb.employees3
AIMEZ mydb.employees
EMPLACEMENT '/chemin/vers/données';

Tableaux externes
Une table externe est une table dans laquelle Hive ne contrôle que le schéma de la table. Dans la majorité des cas, l'utilisateur définira l'emplacement du dossier dans HDFS et y copiera les fichiers de données. Cet emplacement est inclus dans la déclaration de définition de table. Lorsqu'une table externe est supprimée, Hive ne supprimera que le schéma associé à la table. Les fichiers de données ne sont pas affectés.

Syntaxe pour créer une table externe

CRÉER UNE TABLE EXTERNE S'IL N'EXISTE PAS (échange STRING,
symbole CHAINE,
price_open FLOAT,
price_high FLOAT,
price_low FLOAT,
price_adj_close FLOAT)
CHAMPS DÉLIMITÉS AU FORMAT DE LIGNE TERMINÉS PAR ','
EMPLACEMENT '/données/stocks';

Table gérée vs table externe: quelle est la différence?

Table géréeTable externe
Hive suppose que possède données des tables gérées.Pour les tables externes, Hive suppose que oui non gérer les données.
Si une table ou une partition gérée est supprimée, les données et métadonnées associées à cette table ou partition sont supprimées.Quitter la table ne supprime pas les données, même si les métadonnées de la table seront supprimées.
À Tables gérées, Ruche stocke les données dans votre répertoire d'entrepôtÀ Tableaux externes, Ruche stocke les données dans l'EMPLACEMENT spécifié lors de la création du mesa(généralement pas dans le répertoire de l'entrepôt)
La table gérée fournit un support ACID / action transnationale.La table externe ne prend pas en charge les actions ACID / transactionnel.
Déclarations: ARCHIVER, DÉSARCHIVAGE, TRONQUER, FUSIONNER, Compatible CONCATENERNon supporté.
La mise en cache des résultats de la requête est prise en charge (enregistre les résultats d'une requête Hive exécutée pour réutilisation)Non supporté

Identifier le type de table Apache Hive

Vous pouvez savoir si une table est gérée ou externe en utilisant la sortie du nom de la table DESCRIBE EXTENDED.

Vers la fin de la sortie d'informations détaillées du tableau, vous verrez ce qui suit pour administré les tables:

... TableType: GÉRÉ_TABLE)

À externe planches, vous verrez ce qui suit:

... TableType: EXTERNE_TABLE)

Noter: Si vous omettez le mot clé EXTERNAL et que la table d'origine est externe, la nouvelle table sera également externe. Si vous omettez EXTERNAL et que la table d'origine est gérée, aussi la nouvelle table sera gérée. Malgré cela, s'il comporte le mot clé EXTERNAL et que la table d'origine est gérée, la nouvelle table sera externe. Même dans ce scénario, la clause LOCATION restera facultative.

Remarques finales

Dans ce billet, nous avons découvert Apache Hive et ses types de tables. Avec chance, vous avez peut-être eu un bon aperçu des types de tables dans Hive. Les différences indiquées ne sont pas exhaustives. N'hésitez pas à en ajouter plus dans la section commentaire ci-dessous.

Voici quelques ressources d'ingénierie de données supplémentaires que je vous recommande d'explorer:

j'espère que vous avez aimé le post. Si vous avez des questions concernant ce post, Laissez-moi savoir dans la section commentaire ci-dessous.

Lecture recommandée-

https://cwiki.apache.org/confluence/display/Hive/Home

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.