Apache Tajo - Wprowadzenie
Rozproszony system hurtowni danych
Hurtownia danych to relacyjna baza danych, która jest przeznaczona do zapytań i analiz, a nie do przetwarzania transakcji. Jest to zorientowany podmiotowo, zintegrowany, zmienny w czasie i nieulotny zbiór danych. Dane te pomagają analitykom w podejmowaniu świadomych decyzji w organizacji, ale ilość danych relacyjnych rośnie z dnia na dzień.
Aby sprostać wyzwaniom, rozproszony system hurtowni danych udostępnia dane w wielu repozytoriach danych w celu przetwarzania online (OLAP). Każda hurtownia danych może należeć do jednej lub kilku organizacji. Zapewnia równoważenie obciążenia i skalowalność. Metadane są replikowane i dystrybuowane centralnie.
Apache Tajo to rozproszony system hurtowni danych, który wykorzystuje Hadoop Distributed File System (HDFS) jako warstwę pamięci masowej i ma własny silnik wykonywania zapytań zamiast struktury MapReduce.
Omówienie SQL na Hadoop
Hadoop to platforma typu open source, która umożliwia przechowywanie i przetwarzanie dużych zbiorów danych w środowisku rozproszonym. Jest niezwykle szybki i potężny. Jednak Hadoop ma ograniczone możliwości wykonywania zapytań, więc jego wydajność można zwiększyć jeszcze bardziej za pomocą SQL na Hadoop. Pozwala to użytkownikom na interakcję z Hadoop za pomocą prostych poleceń SQL.
Niektóre przykłady SQL w aplikacjach Hadoop to Hive, Impala, Drill, Presto, Spark, HAWQ i Apache Tajo.
Czym jest Apache Tajo
Apache Tajo to relacyjna i rozproszona platforma przetwarzania danych. Został zaprojektowany z myślą o małych opóźnieniach i skalowalnej analizie zapytań ad hoc.
Tajo obsługuje standardowy SQL i różne formaty danych. Większość zapytań Tajo można wykonać bez żadnych modyfikacji.
Tajo ma fault-tolerance poprzez mechanizm ponownego uruchamiania zadań zakończonych niepowodzeniem i rozszerzalny silnik przepisywania zapytań.
Tajo wykonuje niezbędne czynności ETL (Extract Transform and Load process)operacje podsumowujące duże zbiory danych przechowywane w HDFS. Jest to alternatywa dla Hive / Pig.
Najnowsza wersja Tajo zapewnia lepszą łączność z programami Java i bazami danych innych firm, takimi jak Oracle i PostGreSQL.
Funkcje Apache Tajo
Apache Tajo ma następujące funkcje -
- Doskonała skalowalność i zoptymalizowana wydajność
- Małe opóźnienia
- Funkcje zdefiniowane przez użytkownika
- Struktura przetwarzania pamięci wierszowej / kolumnowej.
- Zgodność z HiveQL i Hive MetaStore
- Prosty przepływ danych i łatwa konserwacja.
Korzyści z Apache Tajo
Apache Tajo oferuje następujące korzyści -
- Łatwy w użyciu
- Uproszczona architektura
- Oparta na kosztach optymalizacja zapytań
- Wektoryzowany plan wykonania zapytania
- Szybka dostawa
- Prosty mechanizm we / wy i obsługuje różne typy pamięci.
- Tolerancja błędów
Użyj przypadków Apache Tajo
Oto niektóre przykłady użycia Apache Tajo -
Hurtownie i analiza danych
Koreańska firma SK Telecom porównała Tajo z danymi o wielkości 1,7 terabajta i stwierdziła, że może wykonywać zapytania z większą szybkością niż Hive czy Impala.
Odkrywanie danych
Koreańska usługa strumieniowego przesyłania muzyki Melon używa Tajo do przetwarzania analitycznego. Tajo wykonuje zadania ETL (proces wyodrębniania, transformacji i ładowania) 1,5 do 10 razy szybciej niż Hive.
Analiza dziennika
Bluehole Studio, koreańska firma opracowała TERA - grę online fantasy dla wielu graczy. Firma używa Tajo do analizy logów gry i znajdowania głównych przyczyn zakłóceń jakości usług.
Przechowywanie i formaty danych
Apache Tajo obsługuje następujące formaty danych -
- JSON
- Plik tekstowy (CSV)
- Parquet
- Plik sekwencji
- AVRO
- Bufor protokołu
- Apache Orc
Tajo obsługuje następujące formaty przechowywania -
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch