如何解决凤凰更新语句与 java
我使用了以下依赖项:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>5.0.0-alpha-HBase-2.0</version>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-queryserver-client</artifactId>
<version>4.8.0-HBase-1.1</version>
</dependency>
我想从 jdbc (Phoenix) 更新 hbase 中的一个字段。
System.out.println("Phoenix connected");
st = conn.createStatement();
int rst = 0;
st.executeUpdate(updatequery);
//conn.commit();
st.close();
conn.close();
但是我遇到了一个错误。
我使用了粗连接。你能帮我解决这个错误吗?你之前遇到过这个错误吗?
错误:
java.lang.NoSuchMethodError: 'int org.apache.hadoop.hbase.KeyValueUtil.length(org.apache.hadoop.hbase.Cell)' at org.apache.phoenix.util.PhoenixKeyValueUtil.calculateMutationDiskSize(PhoenixKeyValueUtil.java:180)
updatedquery = "UPSERT INTO "ui_dataset_hbase"("+ ""cf1"."b",ROWKEY)"+" "+"VALUES("+"'"+a+"',"+id+")" ) ;
conn.commit 给出错误。我使用了 executeUpdate 但如果我的代码运行,a 不会更新
我在下面更改了我的代码。但不要更新 phoenix 中的字段。我的代码没有失败。不更新字段。请帮我这个主题??
System.out.println("凤凰连接"); st = conn.createStatement(); String sql = "UPSERT INTO "ui_dataset_hbase" (ROWKEY,"cf1"."a") VALUES (107,'5')";
PreparedStatement ps = conn.prepareStatement(sql);
conn.setAutoCommit(false);
//ps.setInt(1,107);
//ps.setString(2,"123123");
try {
ps.execute(sql);
}catch(SQLException e){
e.printStackTrace();
}
//boolean rst = true;
//rst = st.execute(updatequery);
conn.setAutoCommit(true);
//conn.commit();
st.close();
conn.close();
return true;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。