Tableau 和 Hadoop 的 5 种最佳做法


概述 | 本文内容: 

Tableau 设计宗旨是为跨多个数据平台实时数据对话提供便利。已经感觉到受阻于传统工具的商业用户都纷纷采用这种方式。如果不能在数秒内返回查询结果,而需要数小时或数分钟,那结果会怎样? 用户的“流程”能否得到保持?

如今的时代,人们可以轻松分析数百万甚至数十亿行的数据,但用户期望能够近乎即时地获得结果。如果用户的交互和响应时间超过 2-3 秒,他们就无法专注于“可视化分析流程”。因此,当务之急是加快查询速度,让用户保持专注,从而能够更深入地了解自己的大数据部署情况。

用户可以采用很多最佳做法,以充分发挥他们在大数据平台上构建的 Tableau 可视化效果和仪表板的性能。最佳做法主要分为以下五项措施:

  1. 利用快速交互式查询引擎
  2. 策略性地利用实时连接和提取
  3. 从数据湖组织数据
  4. 优化提取
  5. 自定义连接性能

另外,我们还节选了白皮书的前几页供您阅读。若要阅读其余部分,请下载右侧的 PDF。


1. 利用快速交互式查询引擎

如果使用 MapReduce 在 Hadoop 上执行 Hive 查询,速度自然会很慢,因为将 SQL 查询映射到 MapReduce 作业会产生负载。MapReduce Hive 非常适用于执行批处理(例如在 ETL 应用程序中),因为它的容错性很高,但性能却不足。Hive 中的增强功能引入了 Tez(支持交互式查询)和 Spark(支持内存中处理)等全新应用程序框架,可显著提高查询速度。

除了 Hadoop Hive 之外,还有很多非常适用于加快查询速度的选择。根据最新基准,Impala 在 Hadoop 上的性能最快,这是众所周知的事实。虽然 Spark SQL 仍处于开发初期,但它已经表现出了成为快速数据处理引擎的极大潜力。它可以处理存储在由 Hive Metastore 引用的 Hadoop 或 Spark Schema RDD 上的数据。在 Tableau 中,Impala 和 Spark SQL 都是作为命名连接器受到支持。此外,在讨论有关在 Hadoop 上的性能时,还常常涉及 Pivotal HAWQ、Presto 和 Apache Drill 技术。

另一个选择是完全不考虑 Hadoop。对于 Tableau 商业用户,当在 Hadoop 中处理完数据之后,可以借助快速分析数据库(如 Actian Vector、HP Vertica、Teradata Aster Data、SAP Hana、ParAccel、Pivotal Greenplum 等)作为优异场所来托管这些数据,以实现低延迟查询。云托管的基础架构服务也越来越受欢迎。Google BigQuery 利用 Google 的大规模基础架构,该架构既可以处理数据,又可以实现快速查询(特别是在大型数据集上)。另一方面,Amazon Redshift 是一种专注于快速数据访问、完全托管的列式存储数据仓库。最后,还有一组来自新兴公司的新兴技术和采用 OLAP 多维数据集的开源项目(AtScale、eBay Kylin),或适用于 Hadoop 的索引引擎 (JehtroData),它们可以低延迟查询十亿行或更多行数据。

2. 策略性地利用实时连接和提取

Tableau 的混合数据架构可以实时连接到数据源,也可以通过内存中提取连接到 Tableau 的数据引擎,从而可为处理大数据的用户提供极大的灵活性。如果没有快速查询引擎,使用中小规模数据集(数亿行或更少),或者需要进行脱机分析,则非常适合采用提取方式。对于较大型的数据集,Hadoop Hive 及其他查询引擎的扩展性比 Tableau 更好,因为它采用的是分布式执行方式。另外,当有快速数据库引擎或需要进行实时分析时,最好选择实时连接。

想要阅读更多内容? 请下载白皮书的其余部分!

继续阅读...

您可能会感兴趣的内容…