DataManager dm = new DataManager();
dm.getConnection();
String colTypesString = "(exec_id varchar not null, bucket_name varchar, state varchar CONSTRAINT pk PRIMARY KEY (exec_id))";
String createTableStatement = "CREATE TABLE IF NOT EXISTS " + "test" + "." + "schema_metadata" + colTypesString;
dm.statement.executeUpdate(createTableStatement);
String v = "UPSERT into test.schema_metadata(EXEC_ID, BUCKET_NAME, STATE) VALUES ('123','free','active')";
dm.statement.executeUpdate(v);
dm.connection.commit();
select*from test.schema\元数据显示它没有写入可选行
以下是pom文件中的phoenix依赖项:
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.14.0-HBase-1.4</version>
</dependency>
注意:如果我从ui(squirrel)执行upsert,它工作正常-所有数据都被写入。
1条答案
按热度按时间ppcbkaq51#
修正:当我将java和squirrel中的驱动程序与hbase-phoenix服务器中的新驱动程序对齐后,一切都正常了。
下面的包适用于在jar和docker容器中运行,但是它对于所有的phoenix jar来说都非常重(我相信)。使用phoenix客户端没有所有必需的类。