Tajo 教程
Apache Tajo 是一个用于 Hadoop 的开源分布式数据仓库框架。Tajo 最初由韩国一家基于 Hadoop 的基础设施公司 Gruter 创立。后来,来自 Intel、Etsy、NASA、Cloudera、Hortonworks 的专家也为该项目做出了贡献。Tajo在韩语中是鸵鸟的意思。2014 年 3 月,Tajo 获得顶级开源 Apache 项目。本教程将探索 Tajo 的基础知识并继续前进,它将解释集群设置、Tajo shell、SQL 查询、与其他大数据技术的集成,最后以一些示例结束。
分布式数据仓库系统
数据仓库是一种关系型数据库,设计用于查询和分析,而不是用于事务处理。它是面向主题的、集成的、随时间变化的、非易失性的数据集合。这些数据可帮助分析师在组织中做出明智的决策,但关系数据量却每天都在增加。
为了克服这些挑战,分布式数据仓库系统跨多个数据存储库共享数据,以实现在线分析处理 (OLAP)。每个数据仓库可能属于一个或多个组织。它执行负载平衡和可伸缩性。元数据被复制并集中分布。
Apache Tajo 是一个分布式数据仓库系统,它使用 Hadoop分布式文件系统(HDFS)作为存储层,拥有自己的查询执行引擎,而不是MapReduce框架。
Hadoop 上的 SQL 概述
Hadoop 是一个开源框架,允许在分布式环境中存储和处理大数据。它非常快速和强大。但是,Hadoop 的查询能力有限,因此在 Hadoop 上的 SQL 的帮助下可以使其性能更好。这允许用户通过简单的 SQL 命令与 Hadoop 交互。
SQL on Hadoop 应用程序的一些示例是 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 电信公司针对 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