更新非键列查询Pheonix JDBC

时间:2016-12-19 19:34:32

标签: mysql hadoop hbase phoenix bigdata

我在更新apache phoenix中的值时遇到问题。以下查询抛出JDBC异常。我是Pheonix JDBC的新手,并且因为更新非主键字段值而使用upsert查询用法而感到困惑。

import numpy as np

with open('file1.txt') as f:
    arr = np.array([[int(bin) for bin in line] for line in f])
print(arr)

" myTable"的主键是" serverName"的组合和" StationName"。我想从' sampleProduct'更新产品列的值。到' TestProduct'。

2 个答案:

答案 0 :(得分:0)

使用以下行更新sql查询。希望它会有所帮助。

String sql = "REPLACE INTO mytable (serverName,SationName, product)
         SELECT serverName,stationName , 'sampleProduct'
            FROM mytable WHERE product = 'sampleProduct'";   

答案 1 :(得分:0)

"" myTable"的主键是" serverName"的组合和" StationName"。我想从' sampleProduct'更新产品列的值。到' TestProduct'。"

如果该行尚未存在,则说明"插入,所以我不认为UPSERT是合适的。 MySQL代码是

UPDATE myTable
    SET product = 'sampleProduct'
    WHERE serverName = '...'
      AND sampleProduct = '...';

(我不知道' ......'需要什么价值。)