java - 使用java创建带有约束的hive表并使用jdbc程序检查hive表的列约束

标签 java jdbc hive

您好,我正在尝试使用 jdbc 创建一个带有一些约束的 Hive 表,这给了我一个错误 String sql1="创建表sample_hive_table_2 (key1 int PRIMARY KEY ,value1 string)"; System.out.println(sql1); res = stmt.executeQuery(sql1); 线程“main”中出现异常 java.sql.SQLException:查询返回非零代码:40000,原因:FAILED:ParseException 第 1:43 行与创建表语句中的“int”附近不匹配的输入“PRIMARY”期望)

at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:194)

我需要做两件事1)创建一个带有约束的表2)使用jdbc程序查找表列的约束。 谢谢 希兹

最佳答案

Hive 表没有约束!

Hive是一个基于Hadoop的数据仓库基础设施。 Hadoop 为商用硬件上的数据存储和处理(使用映射减少编程范例)提供大规模横向扩展和容错功能。

Hive 旨在实现轻松的数据汇总、即席查询和大量数据分析。它提供了一种名为 Hive QL 的简单查询语言,该语言基于 SQL,使熟悉 SQL 的用户可以轻松地进行即席查询、汇总和数据分析。同时,Hive QL 还允许传统的映射/归约程序员能够插入自定义映射器和归约器来执行该语言的内置功能可能不支持的更复杂的分析。

引用https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-CreatingHiveTables对于 Hive 表 DDL

关于java - 使用java创建带有约束的hive表并使用jdbc程序检查hive表的列约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21156445/

相关文章:

postgresql - "\d"jdbc 程序失败

hadoop - 如何从 HIVE (sql) 中的列中删除文本

java - 我应该将 Type 存储在数据库中还是应该将其存储在枚举中?

java - 没有 persistence.xml 的多个entityManagerFactory

java - 32 位和 64 位 Eclipse 的区别

java - 将 JDBCConnection 转换为 OracleConnection 时出错

java - 我什么时候应该使用 String s = new String ("Hello World")?

java - 如何在executeQuery方法中编写sql查询?

hadoop - 将时间戳插入 Hive

hadoop - 使用 MapReduce 的 Hive 表数据