rhive.connect()问题

时间:2013-02-22 08:41:31

标签: r

我尝试使用RHive连接到配置单元,但我收到连接拒绝错误。

library(RHive)
Loading required package: rJava
Loading required package: Rserve
This is RHive 0.0-7. For overview type â?RHiveâ.
HIVE_HOME=/home/surya/hive-0.8.1
call rhive.init() because HIVE_HOME is set.
> rhive.connect()
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  :
  org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
NULL

2 个答案:

答案 0 :(得分:1)

打开终端并按照以下步骤操作。

  1. 首先启动你的hadoop hdfs

    cd / usr / local / hadoop&& /bin/start-all.sh

  2. 启动你的hive服务

    cd / usr / local / hive /& amp;& bin / hive --service hiveserver

  3. 它将开始处理,不要关闭终端

    现在打开您的R / Rstudio并运行以下语句

    library(Rserve) #loading R server package
    Rserve(args=”—no-save”)
    Sys.setenv(HADOOP_HOME=”/usr/local/hadoop”)
    Sys.setenv(HIVE_HOME=”/usr/local/hive”)
    library(RHive)
    rhive.connect()
    rhive.env()
    rhive.init()
    x=1:10
    y=x**2
    xy=data.frame(x,y)
    rhive.write.tables(xy)
    rhive.list.tables()
    

    现在你可以在hive上看到一个xy表

答案 1 :(得分:0)

我也遇到了同样的问题,并且能够通过在Linux CentOS 6.2中通过简单命令重新配置Java for R来解决此问题

$R CMD javareconf