code: public static List<Put> getHbasePuts(JobDesc jobDesc, Configuration jobConf) {
      List<Put> puts = new LinkedList<Put>();
  
      JobKey jobKey = new JobKey(jobDesc);
      byte[] jobKeyBytes = new JobKeyConverter().toBytes(jobKey);
  
      // Add all columns to one put
      Put jobPut = new Put(jobKeyBytes);
      jobPut.addColumn(Constants.INFO_FAM_BYTES, Constants.VERSION_COLUMN_BYTES,
          Bytes.toBytes(jobDesc.getVersion()));
      jobPut.addColumn(Constants.INFO_FAM_BYTES, Constants.FRAMEWORK_COLUMN_BYTES,
          Bytes.toBytes(jobDesc.getFramework().toString()));
  
      // Avoid doing string to byte conversion inside loop.
      byte[] jobConfColumnPrefix =
          Bytes.toBytes(Constants.JOB_CONF_COLUMN_PREFIX + Constants.SEP);
  
      // Create puts for all the parameters in the job configuration
      Iterator<Entry<String, String>> jobConfIterator = jobConf.iterator();
      while (jobConfIterator.hasNext()) {
        Entry<String, String> entry = jobConfIterator.next();
        // Prefix the job conf entry column with an indicator to
        byte[] column =
            Bytes.add(jobConfColumnPrefix, Bytes.toBytes(entry.getKey()));
        jobPut.addColumn(Constants.INFO_FAM_BYTES, column,
            Bytes.toBytes(entry.getValue()));
      }
  
      // ensure pool/queuename is set correctly
      setHravenQueueNamePut(jobConf, jobPut, jobKey, jobConfColumnPrefix);
  
      puts.add(jobPut);
  
      return puts;
    }
docs: Returns the HBase {@code Put} instances to store for the given
  {@code Configuration} data. Each configuration property will be stored as a
  separate key value.
  
  @param jobDesc the {@link JobDesc} generated for the job
  @param jobConf the job configuration
  @return puts for the given job configuration