@Override public byte[] apply(LookupKey lookupKey) { return lookupKey.toBytes(); } }
Map<String, Object> ret = lkv.getValue().getMetadata(); Map<String, Object> ind = new LinkedHashMap<>(); String indicator = lkv.getKey().getIndicator(); throw new UnsupportedOperationException("Indicator transform must return String type"); lkv.getKey().setIndicator((String) updatedIndicator); boolean update = filter(indicatorFilter, resolver) && filter(valueFilter, resolver); if(update && !stateUpdate.isEmpty()) {
public LookupKV<KEY_T, VALUE_T> fromResult(Result result, String columnFamily, KEY_T key, VALUE_T value) throws IOException { if(result == null || result.getRow() == null) { return null; } key.fromBytes(result.getRow()); byte[] cf = Bytes.toBytes(columnFamily); NavigableMap<byte[], byte[]> cols = result.getFamilyMap(cf); value.fromColumns(cols.entrySet()); return new LookupKV<>(key, value); } @Override
public LookupKV<KEY_T, VALUE_T> fromPut(Put put, String columnFamily, KEY_T key, VALUE_T value) throws IOException { key.fromBytes(put.getRow()); byte[] cf = Bytes.toBytes(columnFamily); value.fromColumns(Iterables.transform(put.getFamilyCellMap().get(cf), CELL_TO_ENTRY)); return new LookupKV<>(key, value); }
@Override public Get toGet(String columnFamily, KEY_T key) { Get ret = new Get(key.toBytes()); ret.addFamily(Bytes.toBytes(columnFamily)); return ret; }
@Override public Put toPut(String columnFamily, KEY_T key, VALUE_T values) throws IOException { Put put = new Put(key.toBytes()); byte[] cf = Bytes.toBytes(columnFamily); for(Map.Entry<byte[], byte[]> kv : values.toColumns()) { put.add(cf, kv.getKey(), kv.getValue()); } return put; }
@Override public void map(Object key, Text value, Context context) throws IOException, InterruptedException { for(LookupKV results : extractor.extract(value.toString())) { if (results != null) { Put put = converter.toPut(columnFamily, results.getKey(), results.getValue()); write(new ImmutableBytesWritable(results.getKey().toBytes()), put, context); } } }