Поскольку гибкая схема поддержки hbase и мой сценарий использования нуждаются в квалификаторе, это динамическое значение, доступное только для некоторой логики (если true добавить столбец, иначе пропустить), в этом случае мы ожидаем, что выполнение пут должно быть в порядке, даже без добавления в него каких-либо столбцов..
Но мы в итоге получаем эту ошибку:
java.lang.IllegalArgumentException: Нет столбцов для вставки в org.apache.hadoop.hbase.client.HTable.validatePut(HTable.java:1500) в org.apache.hadoop.hbase.client.BufferedMutatorImpl.validatePut (BufferedMutatorImpl.java:152) в org.apache.hadoop.hbase.client.BufferedMutatorImpl.mutate (BufferedMutator:ut7: 127):org.apache.hadoop.hbase.client.HTable.put (HTable.java:1028)
Put p = new Put(Bytes.toBytes("rowkey"))
if(condition1){
p.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("Q1")
}
table.put(p)