2014-01-24 44 views
5

我是nosql解决方案中的新成员,并且希望与Hive一起玩。但安装hdfs/hadoop需要很多资源和时间(也许没有经验,但我没有时间待办事项)。如何在没有hadoop的情况下使用Hive

是否有一些解决方案可以在没有hdfs/hadoop的本地机器上安装和使用Hive?

+0

你的意思是HDFS? Hadoop是一个生态系统,Hive是Hadoop的一部分。 –

回答

7

是的,你可以在没有hadoop的情况下运行配置单元 1.在你的本地系统 2.将默认fs设置为文件:/// 比您可以在本地模式下运行配置单元而不安装hadoop安装程序

在蜂房的site.xml

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
     <property> 
     <name>hive.metastore.schema.verification</name> 
     <value>false</value> 
     </property> 
    <property> 
     <!-- this should eventually be deprecated since the metastore should supply this --> 
     <name>hive.metastore.warehouse.dir</name> 
     <value>file:///tmp</value> 
     <description></description> 
    </property> 
    <property> 
     <name>fs.default.name</name> 
     <value>file:///tmp</value> 
    </property> 
</configuration> 
+0

任何代码示例? – Tioma

+0

把你的蜂房的site.xml内这些配置<?XML版本= “1.0”?> <?xml样式表型= “文本/ XSL” HREF = “configuration.xsl”?> <结构> hive.metastore.schema。验证 hive.metastore.warehouse.dir 文件< - - 这应该最终被废弃了,因为在metastore应该提供这个!>:/// TMP fs.default.name file:/// tmp anubhav

0

更新这个答案是外的日期:与Hive on Spark不再需要有hdfs支持。


Hive需要hdfs和map/reduce,因此您将需要它们。另一个答案在推荐简单 /预先配置的方式来获取您的所有组件的意义上具有一些优点。

但它的要点是:配置单元需要hadoop和m/r所以在某种程度上你需要处理它。

+0

错误,Hive可以在没有HDFS和map/reduce的情况下运行,有一种称为“本地”的模式;此外,Hive可以对抗Tez引擎而不是map/reduce。 –

+0

@ThomasDecaux检查你的日期:这是写在2014年1月。它已经*不再是这种情况*,这种限制已经到位。这使得你的陈述误导而没有澄清。 – javadba

+0

是的你是对的,这是一直很难与SO答案 –

3

如果你只是在谈论作出决定,你可以只使用一个预配置的虚拟机作为@Maltram建议之前经历蜂巢(Hortonworks,Cloudera公司,IBM和其他所有提供这些VM)

你应该注意以下几点如果没有Hadoop和HDFS,你将无法在生产环境中使用Hive,所以如果对你有问题,你应该考虑替代Hive

1

你不能,只要下载蜂巢,然后运行:

./bin/hiveserver2                                   
Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path 

Hadoop是像一个核心,蜂巢需要从它的一些库。

相关问题