private void addKeyValue(final Context context, ImmutableBytesWritable key,
    final Utility.TableColumnNames columnName, final String value)
    throws IOException, InterruptedException {
    KeyValue kv =
      new KeyValue(key.get(), COLUMN_FAMILY_BYTES, columnName.getColumnName(), value.getBytes());
    context.write(key, kv);
  }
Generates a single record based on value set to the key by
{@link BulkDataGeneratorRecordReader#getCurrentKey()}.
{@link Utility.TableColumnNames#TOOL_EVENT_ID} is first part of row key. Keeping first
{@link Utility#SPLIT_PREFIX_LENGTH} characters as index of the record to be generated ensures
that records are equally distributed across all regions of the table since region boundaries
are generated in similar fashion. Check {@link Utility#createTable(Admin, String, int, Map)}
method for region split info.
@param key     - The key having index of next record to be generated
@param value   - Value associated with the key (not used)
@param context - Context of the mapper container
hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/util/bulkdatagenerator/BulkDataGeneratorMapper.java