Video: Crochet Alpine Stitch Turtleneck with Pockets | Tutorial DIY 2024
Hive è un layer di archiviazione dati orientato ai batch costruito sugli elementi principali di Hadoop (HDFS e MapReduce) e è molto utile nei big data. Fornisce agli utenti che conoscono SQL una semplice implementazione SQL-lite chiamata HiveQL senza sacrificare l'accesso tramite mapper e riduttori. Con Hive, puoi ottenere il meglio da entrambi i mondi: accesso in stile SQL a dati strutturati e sofisticate analisi di big data con MapReduce.
Diversamente dalla maggior parte dei data warehouse, Hive non è progettato per risposte rapide alle query. In effetti, le query possono richiedere diversi minuti o addirittura ore a seconda della complessità. Di conseguenza, Hive viene utilizzato al meglio per il data mining e analisi più approfondite che non richiedono comportamenti in tempo reale. Perché si basa sulla base Hadoop, è molto estensibile, scalabile e resiliente, qualcosa che il data warehouse medio non è.
Hive utilizza tre meccanismi per l'organizzazione dei dati:
-
Tabelle: Le tabelle Hive sono le stesse delle tabelle RDBMS costituite da righe e colonne. Poiché Hive è sovrapposto su HDFS Hadoop, le tabelle vengono mappate alle directory nel file system. Inoltre, Hive supporta le tabelle archiviate in altri file system nativi.
-
Partizioni: Una tabella Hive può supportare una o più partizioni. Queste partizioni sono associate a sottodirectory nel file system sottostante e rappresentano la distribuzione dei dati in tutta la tabella. Ad esempio, se una tabella è denominata auto, con un valore chiave 12345 e un valore del creatore Ford, il percorso della partizione sarà / hivewh / Auto / kv = 12345 / Ford.
-
Secchi: A loro volta, i dati possono essere suddivisi in secchi. I bucket vengono memorizzati come file nella directory delle partizioni nel file system sottostante. I bucket sono basati sull'hash di una colonna nella tabella. Nell'esempio precedente, potresti avere un bucket chiamato Focus, contenente tutti gli attributi di un'automobile Ford Focus.
I metadati dell'alveare vengono memorizzati esternamente nel "metastore". "Il metastore è un database relazionale contenente le descrizioni dettagliate dello schema Hive, inclusi i tipi di colonna, i proprietari, i dati chiave e valore, le statistiche della tabella e così via. Il metastore è in grado di sincronizzare i dati del catalogo con altri servizi di metadati nell'ecosistema Hadoop.
Hive supporta un linguaggio simile a SQL chiamato HiveQL. HiveQL supporta molti primitivi SQL, come select, join, aggregate, union all e così via. Supporta anche query e inserimenti multitable condividendo i dati di input all'interno di una singola istruzione HiveQL. HiveQL può essere esteso per supportare l'aggregazione definita dall'utente, la trasformazione delle colonne e gli script di MapReduce incorporati.