需要使用Jdbc程序访问Hive元数据表。Metastore实际存储的内容以及如何访问它?需要使用Jdbc程序访问Hive元数据表
我试着这样做:
sql="show tables";
Statement stmt = con.createStatement();
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1));
}
所以我拿到表的名单,但我想知道这表是存储在所以这个信息,我可以直接从该表中选择烧制蜂房,而不是命令。
而且我Metastore被配置在PostgreSQL(是否有帮助!) 感谢 希茨
好的,谢谢你会试试这个..更多的问题,我想创建一个使用主键配置单元中的表,但在eclipse中得到以下错误:正在运行:CREATE TABLE sample_Hive_Table_2(PERSON_ID INT PRIMARY KEY,PERSON VARCHAR(26)) 线程“main”中的异常java.sql.SQLException:查询返回的非零代码:40000,原因:FAILED:ParseException行1:51不匹配的输入'PRIMARY'期待) INT”在org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:194)create table语句 \t \t在Hive_Client_17.main(Hive_Client_17.java:48) – user2176576
蜂房不支持主键。 –
谢谢澄清我的疑问。但我相信我们可以为列添加一些约束。我尝试添加NOT NULL约束到它..这是我得到的错误︰正在运行︰CREATE TABLE sample_Hive_Table_2(PERSON_ID INT NOT NULL,PERSON VARCHAR(26)) 线程“main”中的异常java.sql.SQLException:Query返回的非零代码:40000,原因:FAILED:ParseException行1:50不匹配输入'NOT'期待)在创建表语句中'INT'附近 \t at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery HiveStatement.java:194) \t at Hive_Client_17.main(Hive_Client_17.java:48) – user2176576