我想使用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以连接到配置单元。