使用java和jdbc程序检查配置单元表的列约束来创建配置单元表
您好,我正在尝试使用jdbc创建一个带有一些约束的配置单元表,这给了我一个错误 String sql1=“创建表格样本_配置单元_表格_2(key1 int主键,value1 String)”; 系统出来println(sql1); res=stmt。executeQuery(sql1); 线程“main”java中出现异常。sql。SQLException:查询返回非零代码:40000,原因:失败:ParseException行1:43不匹配的输入(应为“PRIMARY”)在create table语句中的“int”附近
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:194)
我需要做两件事1)创建带有约束的表2)使用jdbc程序查找表列上的约束。 谢谢 希茨
# 1 楼答案
配置单元表没有约束
Hive是基于Hadoop的数据仓库基础设施。Hadoop为商品硬件上的数据存储和处理(使用map-reduce编程范例)提供了大规模扩展和容错功能
Hive旨在实现对大量数据的轻松数据汇总、即席查询和分析。它提供了一种称为Hive QL的简单查询语言,该语言基于SQL,使熟悉SQL的用户能够轻松地执行即席查询、摘要和数据分析。同时,Hive QL还允许传统的map/reduce程序员能够插入他们的自定义映射器和还原器,以进行更复杂的分析,这可能是该语言的内置功能所不支持的
有关配置单元表DDL,请参阅https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-CreatingHiveTables
# 2 楼答案
正如您在下面看到的,Hive实际上有主键的概念,您可以看到,不幸的是,它不是validate
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
# 3 楼答案
蜂巢,没有主键的概念