- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 Hive 查询的新手,我正在寻找从 Hive 表中检索数据的最佳实践。我们启用了 TeZ 执行引擎并启用了矢量化。
我们想从 Hive 表进行报告,我从 TEZ 文档中读到它可以用于实时报告。场景来 self 的 WEB 应用程序,我想在 UI 上显示 Hive Query Select * from Hive 表的结果,但是对于任何查询,在 hive 命令提示符中至少需要 20-60 秒,即使 hive 表有 60 GB 数据。
1) 谁能告诉我如何通过查询 Hive 表来显示实时报告并在 10-30 秒内立即在 UI 上显示结果
2) 我们发现的另一个问题是,当我们将未分区表中的数据转储到 ORC 时,最初我们有一个未分区表指向 HDFS 中的一个 Blob/文件,它的大小为 60 GB,有 200 列表(ORC表是分区的),需要3+小时,有没有办法提高将数据转储到ORC表的性能。
3)当我们使用分桶查询非分区表时,插入到hive表和查询比ORC表上的select查询花费的时间更少,但是hive表中的记录数增加ORC表的SELECT查询比表更好与水桶。有没有办法提高小型数据集的性能。由于是初始阶段,我们每个月都会将 50 GB 数据加载到 Hive 表中。但它可以增加,我们希望提高将数据加载到 Orc 分区表中的性能。
4) TEZ 支持交互式、低延迟和向下钻取报告支持。如何启用我的向下钻取报告以在人类响应时间内(即 5-40 秒)从 Hive(应该是交互式的)获取数据。
我们正在测试 4 个节点,每个节点有 4 个 cpu 内核和 7 GB RAM 以及每个 VM 附加的 3 个磁盘。
谢谢,马亨德
最佳答案
为了提高向ORC表插入数据的速度,你可以试试下面的parameters :
hive.exec.orc.memory.pool
hive.exec.orc.default.stripe.size
hive.exec.orc.default.block.size
hive.exec.orc.default.buffer.size
dfs.blocksize
此外,您可能会看到,压缩是否也可能对您有所帮助。例如:
SET mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;
SET hive.exec.compress.intermediate = true;
希望对您有所帮助!
关于hadoop - HIVE中如何提高从非分区表加载数据到ORC分区表的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28920328/
我在 Hive 中有一个分区的 ORC 表。在用所有可能的分区加载表后,我得到了 HDFS - 多个 ORC 文件,即 HDFS 上的每个分区目录都有一个 ORC 文件。对于某些用例,我需要将每个分区
关于 SO 和网络的大多数问题/答案都讨论了使用 Hive 将一堆小的 ORC 文件组合成一个更大的文件,但是,我的 ORC 文件是按天分隔的日志文件,我需要将它们分开。我只想每天“汇总”ORC 文件
我正在对 Hive 可用的存储格式进行一些测试,并使用 Parquet 和 ORC 作为主要选项。我将 ORC 一次包含在默认压缩中,一次包含在 Snappy 中。 我读过许多文档,指出 Parque
我正在尝试使用上面提到的 orc 工具 jar 来转换 JSON 文件 https://orc.apache.org/docs/tools.html#java-orc-tools 我已将其导入到我的
我创建了一个存储为 ORC 的托管配置单元表,当加载 .txt 文件时它工作正常,但是我无法将 ORC 文件加载到该表中。与分隔符有什么关系吗?还是我错过了什么? 最佳答案 下面的代码对我有用,同时将
当我读取 orcfile 并将数据写入 orcfile 时,出现以下错误: expected org.apache.hadoop.hive.ql.io.orc.OrcStruct, received
在浏览了一个示例 ORC 文件后,我了解到 ORC 文件格式不存储任何列信息,实际上所有列名都会被替换为 _c0 到 _cn,在这种情况下如何为 ORC 实现适当的架构演变表? 最佳答案 ORC 格式
我在 HDFS 中有一些数据是使用 Sqoop 导入的。数据以 ORC 格式导入,压缩为 Snappy。 我正在尝试使用以下 DDL 语句在此数据之上创建一个表。但是,我收到以下错误。 FAILED:
我有一个程序,其输入应为 ORC 文件格式。 我希望能够检查提供的输入是否实际上是一个 ORC 文件。仅检查扩展名是不够的,因为用户可以省略扩展名。 例如,对于 Parquet,我们可以 check如
我目前正在实现对 HDFS 和 Hive 表的监控数据的 ETL (Talend)。 我现在面临重复的问题。更详细地说,如果我们需要使用相同的输入运行一个 ETL 作业 2 次,我们最终会在 Hive
create table n_data(MARKET string,CATEGORY string,D map,monthid int,value DOUBLE) STORED AS ORC
如何将文本文件加载到 Hive orc 外部表中? create table MyDB.TEST ( Col1 String, Col2 String, Col3 String, Col4 S
在 HDP 2.3 for Windows 中的 Apache Pig 交互式 shell 中工作,我在 /path/to/file 中有一个现有的 ORC 文件。如果我加载然后保存使用: a = L
假设我有一个像这样的 Hive 查询: CREATE TABLE student (key string, name string, course struct) STORED AS ORC; 由于
我可以更新单个列,但不能更新从另一个表引用的多个列。 我启用了所有 ACID 属性以支持配置单元 (1.2.1) 表更新。 我有两个表, 表 1: 架构: create table table1(em
我正在尝试使用 orc-core 编写 orc 文件稍后由 hive 读取。 正在写入的文件具有正确的行数,但列中没有内容。我可以看到,两者都试图在配置单元中使用选择查询读取文件,并且都使用 hive
我读过很多关于 ORC 文件格式在压缩和快速查询方面有多么出色的帖子,特别是与 Parquet 格式相比。我了解 ORC 如何跨行组拆分数据,将它们分割为列组,以及它如何使用元数据和内部统计信息来跳过
我有一个要求,我想将 5GB ORC 文件拆分为 5 个文件,每个文件大小为 1GB。ORC 文件是可拆分的。这是否意味着我们只能逐条分割文件?但我有要求根据大小拆分 orc 文件。例如,将 5GB
将 Hive 外部表从 RC 升级为 ORC 格式并在其上运行 MSCK REPAIR TABLE 时,当我从表中选择全部时,出现以下错误 - Failed with exception java.i
我是大数据和相关技术的新手,所以我不确定我们是否可以将数据附加到现有的 ORC 文件中。我正在使用 Java API 编写 ORC 文件当我关闭 Writer 时,我无法再次打开文件来写入新内容,基本
我是一名优秀的程序员,十分优秀!