我想使用org.apache.hadoop.hive与metastore一起使用。

hive(1.1)和hadoop(2.6版)已安装在Linux服务器上。
我的电脑装有Windows操作系统。在这里,我正在尝试创建Hive conf。

import org.apache.hadoop.hive.conf.HiveConf;


    public class Main {
        public static void main(String[] args){

            HiveConf hiveConf = new HiveConf();
            hiveConf.setIntVar(HiveConf.ConfVars.METASTORETHRIFTCONNECTIONRETRIES, 3);
            hiveConf.setVar(HiveConf.ConfVars.METASTOREURIS, "thrift://server:port");

            HiveMetastore hiveMetaStoreConnector = new HiveMetastore(hiveConf);
            if(hiveMetaStoreConnector != null){
                System.out.print(hiveMetaStoreConnector.getAllPartitionInfo("tablename"));
            }
        }
    }

但我在HiveConf hiveConf = new HiveConf(); 中遇到问题



我应该在Windows(winutils.exe)上安装hadoop客户端吗?还是应该包括更多库?

也,
我只需要将conf设置为hiveConf.setVar(HiveConf.ConfVars.METASTOREURIS, "thrift://server:port")

还是与设置smth有关?

任何建议将不胜感激。

最佳答案

我不确定您要实现的目标,但是您的代码无法在Windows计算机上运行,​​因为Windows计算机缺少hadoop库。我认为不可能在裸机上进行真正的设置。您需要某种VMware软件才能使窗口计算机作为配置单元客户端工作。

如果您尝试通过程序连接到配置单元,则应尝试使用Hive API,该API公开了JDBC way以连接到配置单元。

07-25 22:24