code: static Optional<BigQueryTableSchema> getTableSchema(Configuration conf) throws IOException {
      String fieldsJson = conf.get(BigQueryConfiguration.OUTPUT_TABLE_SCHEMA_KEY);
      if (!Strings.isNullOrEmpty(fieldsJson)) {
        try {
          TableSchema tableSchema = BigQueryTableHelper.createTableSchemaFromFields(fieldsJson);
          return Optional.of(BigQueryTableSchema.wrap(tableSchema));
        } catch (IOException e) {
          throw new IOException(
              "Unable to parse key '" + BigQueryConfiguration.OUTPUT_TABLE_SCHEMA_KEY + "'.", e);
        }
      }
      return Optional.empty();
    }
docs: Gets the output table schema based on the given configuration.
  
  @param conf the configuration to reference the keys from.
  @return the derived table schema, absent value if no table schema exists in the configuration.
  @throws IOException if a table schema was set in the configuration but couldn't be parsed.