在Hive中是否可能有多取的概念?

在Hive中是否可能有多取的概念?,hive,query-optimization,hiveql,Hive,Query Optimization,Hiveql,是否可以从配置单元表中获取多条记录?例如:我在配置单元/文件表中有1000条记录,由于性能限制,我不想点击配置单元/文件1000次。 我知道这种技术在DB2中可用,但不确定在Hive中是否可用。 或 如果我们有更好的选择在有限的时间内点击数据库/文件以获取配置单元中的所有行,请告诉我。select*from table将只读取一次文件。可拆分的大文件将被拆分,映射者将读取文件中自己的部分。如果您运行的是1000个选择,而不是一个选择,则每个选择都将读取数据文件 1000条记录的数据量不太大,您可

是否可以从配置单元表中获取多条记录?例如:我在配置单元/文件表中有1000条记录,由于性能限制,我不想点击配置单元/文件1000次。 我知道这种技术在DB2中可用,但不确定在Hive中是否可用。 或
如果我们有更好的选择在有限的时间内点击数据库/文件以获取配置单元中的所有行,请告诉我。

select*from table
将只读取一次文件。可拆分的大文件将被拆分,映射者将读取文件中自己的部分。如果您运行的是1000个选择,而不是一个选择,则每个选择都将读取数据文件

1000条记录的数据量不太大,您可以使用fetchonly任务快速获取数据,而无需运行map reduce

set hive.fetch.task.conversion=more;
set hive.fetch.task.conversion.threshold=1073741824; --1G
另见:

另外,如果您正在执行一些复杂的处理,并且由于限制,仅获取任务无法工作,那么多行获取与矢量化功能非常相似

矢量化允许配置单元一起处理一批行 一次处理一行的过程。每个批通常是一个基元类型数组。操作在整个列向量上执行,这提高了指令管道和缓存的使用率

 SET hive.vectorized.execution.enabled=true;
 SET hive.vectorized.execution.reduce.enabled=true;