Apache Tajo 简明教程

Apache Tajo - Introduction

Distributed Data Warehouse System

数据仓库是一种关系型数据库,其设计主要用于查询和分析,而不是用于事务处理。它是一个面向主题、集成、随时间变化且不易失的数据集合。这些数据可帮助分析师在组织中做出明智决策,但关系数据量逐日增加。

为了克服这些挑战,分布式数据仓库系统跨多个数据存储库共享数据,目的是用于联机分析处理 (OLAP)。每个数据仓库可能属于一个或多个组织。它执行负载平衡和可扩展性。元数据进行复制并集中分布。

Apache Tajo 是一款分布式数据仓库系统,它使用 Hadoop 分布式文件系统 (HDFS) 作为存储层,并拥有自己的查询执行引擎,而不是 MapReduce 框架。

Overview of SQL on Hadoop

Hadoop 是一个开放源码框架,允许在分布式环境中存储和处理大数据。它非常快速且强大。但是,Hadoop 的查询能力有限,因此可以在 Hadoop 上使用 SQL 来进一步提升其性能。这允许用户通过简单的 SQL 命令与 Hadoop 进行交互。

SQL on Hadoop 的一些应用程序示例包括 Hive、Impala、Drill、Presto、Spark、HAWQ 和 Apache Tajo。

What is Apache Tajo

Apache Tajo 是一个关系型分布式数据处理框架。它旨在实现低延迟和可扩展的临时查询分析。

  1. Tajo 支持标准 SQL 和各种数据格式。大多数 Tajo 查询无需进行任何修改即可执行。

  2. Tajo 具有 fault-tolerance 针对失败的任务进行重启机制和可扩展查询重写引擎。

  3. Tajo 执行必要的 ETL (Extract Transform and Load process) 操作,以汇总存储在 HDFS 上的大型数据集。它是 Hive/Pig 之外的另一种选择。

Tajo 的最新版本提高了与 Java 程序以及第三方数据库(例如 Oracle 和 PostGreSQL)的连接性。

Features of Apache Tajo

Apache Tajo 具有以下功能:

  1. 超强的可扩展性和优化的性能

  2. Low latency

  3. User-defined functions

  4. Row/columnar storage processing framework.

  5. 与 HiveQL 和 Hive MetaStore 兼容

  6. 简单的数据流程和容易维护。

Benefits of Apache Tajo

Apache Tajo 提供了以下好处:

  1. Easy to use

  2. Simplified architecture

  3. Cost-based query optimization

  4. Vectorized query execution plan

  5. Fast delivery

  6. 简单的 I/O 机制并支持各种类型的存储。

  7. Fault tolerance

Use Cases of Apache Tajo

以下是 Apache Tajo 的一些用例:

Data warehousing and analysis

韩国的 SK Telecom 公司针对 1.7TB 的数据运行 Tajo,发现它可以比 Hive 或 Impala 更快速地完成查询。

Data discovery

韩国流媒体音乐服务 Melon 使用 Tajo 进行分析处理。Tajo 执行 ETL(提取-转换-加载流程)作业的速度比 Hive 快 1.5 到 10 倍。

Log analysis

韩国公司 Bluehole Studio 开发了幻想多人在线游戏 TERA。该公司使用 Tajo 进行游戏日志分析并找出服务质量中断的主要原因。

Storage and Data Formats

Apache Tajo 支持以下数据格式−

  1. JSON

  2. Text file(CSV)

  3. Parquet

  4. Sequence File

  5. AVRO

  6. Protocol Buffer

  7. Apache Orc

Tajo 支持以下存储格式 −

  1. HDFS

  2. JDBC

  3. Amazon S3

  4. Apache HBase

  5. Elasticsearch