🎯 Definicja

Apache Hive to open-source’owy system hurtowni danych (Data Warehouse) działający na platformie Apache Hadoop, który umożliwia wykonywanie zapytań analitycznych przy użyciu deklaratywnego języka HiveQL — podobnego do SQL. Hive zapewnia warstwę abstrakcji nad Hadoop MapReduce i pozwala użytkownikom, bez znajomości Javy i MapReduce, efektywnie analizować duże zbiory danych rozproszonych.

🔑 Kluczowe punkty

  • SQL podobny język zapytań (HiveQL): umożliwia analitykom i inżynierom danych przetwarzanie danych bez konieczności pisania kodu MapReduce.
  • Działa na Hadoop Distributed File System (HDFS): integruje się bezpośrednio z ekosystemem Hadoop.
  • Obsługuje hurtownie danych Big Data: zapewnia możliwość przechowywania i analizy petabajtów danych.
  • Zoptymalizowane pod kątem wsadowego przetwarzania danych: sprawdza się w dużej skali, ale nie jest idealne dla zastosowań wymagających niskich opóźnień (np. OLTP).
  • Może działać z alternatywnymi silnikami przetwarzania: Apache Tez, Apache Spark, sam Hadoop MapReduce.

📚 Szczegółowe wyjaśnienie

Jak działa Apache Hive?

Hive interpretuje zapytania SQL-podobne (HiveQL) i tłumaczy je na zadania MapReduce (lub inne silniki, np. Tez, Spark), które następnie przetwarzają dane rozproszone w klastrze Hadoop.

Architektura:

KomponentOpis
MetastorePrzechowuje definicje tabel, schematy, lokalizacje plików, statystyki
DriverObsługuje sesję, zarządza cyklem życia zapytania
CompilerKompiluje HiveQL do DAG zadań przetwarzających
Execution EngineUruchamia wygenerowane zadania za pomocą MapReduce, Tez lub Spark
CLI / UI / APIInterfejs użytkownika do wprowadzania zapytań

HiveQL – język zapytań

Język podobny do SQL (inspirowany standardem ANSI SQL), z rozszerzeniami dla pracy na plikach, partycjach, strukturach zagnieżdżonych i klasach danych typowych dla Hadoop/HDFS.

SELECT customer_id, COUNT(*) 
FROM sales 
WHERE country = 'Polska' 
GROUP BY customer_id;

Przykłady zastosowań

  • Analityka wsadowa na dużych wolumenach danychanaliza danych logów użytkowników, przetwarzanie danych IoT, raportowanie marketingowe.
  • ETL (Extract, Transform, Load): partiowe ładowanie i przekształcanie danych do Data Lake lub innych warstw analitycznych.
  • Kompatybilność z narzędziami BI — takie jak Tableau, Qlik poprzez konektory JDBC/ODBC.

💡 Praktyczny przypadek użycia

Firma e-commerce analizuje dane kliknięć klientów (clickstream):

  • Surowe dane z loggerów użytkowników trafiają do HDFS.
  • Apache Hive pozwala zespołowi analitycznemu zadawać zapytania w HiveQL, aby agregować dane wg sesji, źródła ruchu, produktów.
  • Wyniki są zapisane do tabel partycjonowanych (np. per dzień) i udostępniane dalej do hurtowni danych lub dashboardów.

📌 Źródła

👽 Brudnopis

  • Hive = alternatywa dla klasycznych DWH w ekosystemie Hadoop.
  • Format danych: najczęściej Parquet, ORC, tekst (csv, tsv).
  • Użycie Metastore (często współdzielony z Hive, Spark, Presto, Trino).
  • Popularny jako katalog w lakehouse (wraz z Iceberg, Delta etc.).
  • Tez/Spark jako silniki – poprawa czasu odpowiedzi względem MapReduce.
  • Brak update/delete w klasycznym Hadoop obsługiwane przez custom storage formats (ACID extensions).