【发布时间】:2017-10-03 10:16:51
【问题描述】:
如何在没有 map reduce 的情况下从 Hive 读取?我正在尝试从 Hive 上创建的表中读取一列,但我不希望 map reduce 存在的开销。基本上我想从 Hive 上创建的表中检索值而无需开销,并以最快的方式获取它们。
【问题讨论】:
-
@DuduMarkovitz 我的问题是我想从 Hive 上创建的表中读取值,而不需要映射减少操作中存在的开销
如何在没有 map reduce 的情况下从 Hive 读取?我正在尝试从 Hive 上创建的表中读取一列,但我不希望 map reduce 存在的开销。基本上我想从 Hive 上创建的表中检索值而无需开销,并以最快的方式获取它们。
【问题讨论】:
您可以使用 Tez 或 Spark 作为 Hive 中的执行引擎,而不是 MapReduce。
请参阅Hive Configuration Properties 中的 hive.execution.engine。
还有不少与 hive 元数据兼容的 SQL 引擎,例如 Presto、Spark SQL、Impala。
【讨论】:
通常,如果您在 hive mapreduce 中执行“select *from”表,则不会运行..
在您的情况下,您是否只使用配置单元表中的一个选择列,mapreduce 也不会运行。
或者您可以在主表上创建一个包含所需列和行数的子表,然后在表上执行 select *。
【讨论】: