我正在尝试了解 hive 和 hadoop 是如何交互的。从我读过的教程看来,在运行 HIVE 查询之前,您运行一个 map/reduce 作业来获取输入数据。这对我来说似乎适得其反,如果我已经运行 map/reduce 作业并以易于解析的格式获取数据,为什么我不将数据放入传统数据库中。
感谢您的帮助, 弥敦道
最佳答案
Hive 对存储在 HDFS 上的文件进行操作。除了最简单的查询之外,Hive 会生成并运行 mapreduce 作业。对于非常简单的查询(SELECT * FROM MyTable
),它只会将文件流出磁盘。
输入数据不需要来自 MapReduce - 它可以是上传到 HDFS 的简单文本文件。参见 http://developer.yahoo.com/hadoop/tutorial/module2.html#commandref
关于database - 执行查询时,hive 是否运行 hadoop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249020/