【发布时间】:2015-05-09 07:54:41
【问题描述】:
我是 Hive 查询的新手,我正在寻找从 Hive 表中检索数据的最佳实践。我们启用了 TeZ 的执行引擎并启用了矢量化。
我们想从 Hive 表中进行报告,我从 TEZ 文档中读到它可以用于实时报告。场景来自我的 WEB 应用程序,我想在 UI 上显示 Hive Query Select * from Hive table 的结果,但是对于任何查询,即使 hive 表有 60 GB 数据,在 hive 命令提示符中至少需要 20-60 秒。
1) 谁能告诉我如何通过查询 Hive 表来显示实时报告并在 10-30 秒内立即在 UI 上显示结果
2) 我们发现的另一个问题是,最初我们有未分区表指向 HDFS 中的 Blob/文件,当我们将数据从未分区表转储到 ORC 时,它的大小为 60 GB,有 200 列表(ORC表是分区的),需要3+小时,有没有办法提高将数据转储到ORC表中的性能。
3) 当我们用分桶查询 Non Partition 表时,插入 hive 表和查询比 ORC 表上的 select 查询花费更少的时间,但是 hive 表中的记录数增加了 ORC 表的 SELECT 查询优于 table用桶。有没有办法提高小型数据集的性能。由于是初始阶段,我们每个月都会将 50 GB 数据加载到 Hive 表中。但它可以增加,我们希望提高将数据加载到 Orc 分区表中的性能。
4) TEZ 支持交互式、低延迟和对报告的深入支持。如何在人工响应时间内(即 5-40 秒)使我的深入报告能够从 Hive(应该是交互式的)获取数据。
我们正在测试 4 个节点,每个节点有 4 个 cpu 内核和 7 GB RAM 和 3 个连接到每个 VM 的磁盘。
谢谢, 马亨德
【问题讨论】:
标签: hadoop hive hadoop-yarn azure-hdinsight