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