Hive Crea tabella: tabella interna, Alter, Drop con esempi

Table Operazioni come Creazione, alterazione e eliminazione tabelle in Hive possono essere osservate in questo tutorial.

Nello screenshot seguente, stiamo creando una tabella con colonne e modificando il nome della tabella.

1. Creazione della tabella guru_sample con due nomi di colonna come "empid" e "empname"

2. Visualizzazione delle tabelle presenti nel database guru99

3. Guru_sample visualizzato sotto le tabelle

4. Modifica della tabella "guru_sample" in "guru_sampleNew"

5. Ancora una volta, quando esegui il comando "mostra", verrà visualizzato il nuovo nome Guru_sampleNew

Hive Crea tabella

Dropping table guru_sampleNew:

Hive Crea tabella

Tipi di tabella e relativo utilizzo

Venendo a tavoli è proprio come il modo in cui creiamo nei tradizionali database relazionali. Le funzionalità come filtraggio e join possono essere eseguite sulle tabelle.

Alveare si occupa di due tipi di strutture di tabella come Interno ed esterno tabelle in base al caricamento e alla progettazione dello schema in Hive.

Tavoli interni

  • La tabella interna è per natura strettamente accoppiata. In questo tipo di tabella, dobbiamo prima creare la tabella e caricare i dati.
  • Possiamo chiamarlo come dati sullo schema.
  • Se si elimina questa tabella, verranno rimossi sia i dati che lo schema.
  • La posizione memorizzata di questa tabella sarà /user/hive/warehouse.

Quando scegliere il tavolo interno?

  • Se i dati di elaborazione sono disponibili nel file system locale
  • Se vogliamo che Hive gestisca l'intero ciclo di vita dei dati compresa la cancellazione

Snippet di codice di esempio per la tabella interna

1. Per creare la tabella interna

 Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);
	 Row format delimited 
	 Fields terminated by '\t';

2. Caricare i dati nella tabella interna

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;

3. Visualizzare il contenuto della tabella

    Hive>select * from guruhive_internaltable;

4. Per eliminare la tabella interna

    Hive>DROP TABLE guruhive_internaltable;

Se hai eliminato guruhive_internaltable, inclusi i suoi metadati e i suoi dati verranno eliminati da Hive.

Dallo screenshot seguente, possiamo osservare l'output

Tabelle interne

Nel codice sopra e nello screenshot facciamo le seguenti cose,

  • Creare la tabella interna
  • Caricare i dati nella tabella interna
  • Visualizza il contenuto della tabella
  • Per eliminare la tabella interna

Tavoli esterni

  • La tabella esterna è di natura liberamente accoppiata. I dati saranno disponibili in HDFS. La tabella verrà creata sui dati HDFS.
  • In altri termini, possiamo dire come se stesse creando schema sui dati.
  • Al momento dell'eliminazione della tabella viene eliminato solo lo schema, i dati saranno ancora disponibili in HDFS come prima.
  • Le tabelle esterne offrono un'opzione per creare più schemi per i dati archiviati in HDFS invece di eliminare i dati ogni volta che lo schema viene aggiornato

Quando scegliere il tavolo esterno?

  • Se si elaborano dati disponibili in HDFS
  • Utile quando i file vengono utilizzati all'esterno di Hive

Snippet di codice di esempio per la tabella esterna

1. Crea una tabella esterna

Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)
	 Row format delimited
	 Fields terminated by '\t'
	 LOCATION '/user/guru99hive/guruhive_external;

2. Se non specifichiamo la posizione al momento della creazione della tabella, possiamo caricare i dati manualmente

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;

3. Visualizzare il contenuto della tabella

  Hive>select * from guruhive_external;

4. Per eliminare la tabella interna

  Hive>DROP TABLE guruhive_external;

Dallo screenshot seguente, possiamo osservare l'output

Tavoli Esterni

Nel codice sopra, facciamo le seguenti cose

  • Creare la tabella esterna
  • Carica i dati nella tabella esterna
  • Visualizza il contenuto della tabella
  • Eliminazione della tabella esterna

Differenza tra tabelle interne ed esterne

caratteristica Interno Esterno
Schema Dati sullo schema Schema sui dati
Posizione di archiviazione /usr/hive/magazzino Posizione dell'HDFS
Disponibilità dei dati All'interno del file system locale All'interno di HDFS