Hive Metasotore 依赖版本:
1.1.0 版本:报错:java.lang.NoSuchMethodError: org.apache.hadoop.hive.shims.HadoopShims.getHadoopConfNames()Ljava/util/Map;
2.3.0 版本:报错java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/JobContext
- Hive metastore依赖
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-metastore</artifactId>
<version>1.1.0</version>
<scope>compile</scope>
</dependency>
- 代码
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
import org.apache.hadoop.hive.metastore.api.Database;
import org.apache.hadoop.hive.metastore.api.MetaException;
import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.thrift.TException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.List;
public class HiveMetaApp {
//HiveMetaStore的客户端
private HiveMetaStoreClient hiveMetaStoreClient;
/**
* 功能描述:
* 设置HiveJDBC的数据源
*/
@Before
public void setHiveMetaStoreConf() {
System.out.println("开始了。。。。");
System.setProperty("hadoop.home.dir", "C:\\hadoop");
HiveConf hiveConf = new HiveConf();
//<name>hive.metastore.uris</name>
// <value>thrift://bdptest1:9083</value>
hiveConf.set("hive.metastore.uris", "thrift://bdptest1:9083");
try {
//设置hiveMetaStore服务的地址
this.hiveMetaStoreClient = new HiveMetaSt