code: public List<Writable> transformRawStringsToInputList(List<String> values) {
          List<Writable> ret = new ArrayList<>();
          if (values.size() != initialSchema.numColumns())
              throw new IllegalArgumentException(
                      String.format("Number of values %d does not match the number of input columns %d for schema",
                              values.size(), initialSchema.numColumns()));
          for (int i = 0; i < values.size(); i++) {
              switch (initialSchema.getType(i)) {
                  case String:
                      ret.add(new Text(values.get(i)));
                      break;
                  case Integer:
                      ret.add(new IntWritable(Integer.parseInt(values.get(i))));
                      break;
                  case Double:
                      ret.add(new DoubleWritable(Double.parseDouble(values.get(i))));
                      break;
                  case Float:
                      ret.add(new FloatWritable(Float.parseFloat(values.get(i))));
                      break;
                  case Categorical:
                      ret.add(new Text(values.get(i)));
                      break;
                  case Boolean:
                      ret.add(new BooleanWritable(Boolean.parseBoolean(values.get(i))));
                      break;
                  case Time:
  
                      break;
                  case Long:
                      ret.add(new LongWritable(Long.parseLong(values.get(i))));
              }
          }
          return ret;
      }
docs: Based on the input schema,
  map raw string values to the appropriate
  writable
  @param values the values to convert
  @return the transformed values based on the schema