Apache Tajo - 简介

分布式数据仓库系统

数据仓库是一种关系数据库,旨在查询和分析而不是事务处理。 它是一个面向主题的、集成的、时变的、非易失性的数据集合。 这些数据可以帮助分析师在组织中做出明智的决策,但关系数据量正在日益增加。

为了克服这些挑战,分布式数据仓库系统在多个数据存储库之间共享数据,以实现在线分析处理(OLAP)。 每个数据仓库可能属于一个或多个组织。 它执行负载平衡和可扩展性。 元数据被复制并集中分布。

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

Hadoop 上的 SQL 概述

Hadoop 是一个开源框架,允许在分布式环境中存储和处理大数据。 它速度极快且功能强大。 然而,Hadoop 的查询能力有限,因此借助 SQL on Hadoop 可以进一步提高其性能。 这允许用户通过简单的 SQL 命令与 Hadoop 交互。

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

什么是 Apache Tajo

Apache Tajo 是一个关系型分布式数据处理框架。 它专为低延迟和可扩展的即席查询分析而设计。

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

  • Tajo 通过失败任务的重启机制和可扩展查询重写引擎实现容错

  • Tajo 执行必要的ETL(提取转换和加载过程) 操作来汇总存储在 HDFS 上的大型数据集。 它是 Hive/Pig 的替代选择。

最新版本的 Tajo 与 Java 程序和第三方数据库(例如 Oracle 和 PostGreSQL)具有更好的连接性。

Apache Tajo 的功能

Apache Tajo 具有以下功能 −

  • 卓越的可扩展性和优化的性能
  • 低延迟
  • 用户定义的函数
  • 行/列存储处理框架。
  • 与 HiveQL 和 Hive MetaStore 的兼容性
  • 数据流程简单,维护方便。

Apache Tajo 的优点

Apache Tajo 具有以下优势 −

  • 易于使用
  • 简化的架构
  • 基于成本的查询优化
  • 矢量化查询执行计划
  • 交付快捷
  • 简单的I/O机制,支持多种类型的存储。
  • 容错

Apache Tajo 用例

以下是 Apache Tajo 的一些用例 −

数据仓储和分析

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

数据发现

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

日志分析

Bluehole Studio 是一家韩国公司,开发了《TERA》——一款奇幻多人在线游戏。 该公司使用 Tajo 进行游戏日志分析并查找服务质量中断的主要原因。

存储和数据格式

Apache Tajo 支持以下数据格式 −

  • JSON
  • Text file(CSV)
  • Parquet
  • Sequence File
  • AVRO
  • Protocol Buffer
  • Apache Orc

Tajo支持以下存储格式 −

  • HDFS
  • JDBC
  • Amazon S3
  • Apache HBase
  • Elasticsearch