class_docstr: Describes a schema of a table.
  
  .. note::
  
      Field names are matched by the exact name by default (case sensitive).
class_docstr_tok: ["Describes","a","schema","of","a","table",".","..","note",":",":","Field","names","are","matched","by","the","exact","name","by","default","(","case","sensitive",")","."]
docstr: Adds a set of fields with the field name and the data type or type string stored in a
  list.
  
  :param fields: Dict of fields with the field name and the data type or type string
                 stored.
                 E.g, [('int_field', DataTypes.INT()), ('string_field', DataTypes.STRING())].
  :return: This schema object.
  
  .. versionadded:: 1.11.0
docstr_tok: ["Adds","a","set","of","fields","with","the","field","name","and","the","data","type","or","type","string","stored","in","a","list",".",":","param","fields",":","Dict","of","fields","with","the","field","name","and","the","data","type","or","type","string","stored",".","E.g",",","[","(","'int_field","'",",","DataTypes.INT","(",")",")",",","(","'string_field","'",",","DataTypes.STRING","(",")",")","]",".",":","return",":","This","schema","object",".","..","versionadded",":",":","1.11.0"]
code: def fields(self, fields: Dict[str, Union[DataType, str]]) -> "Schema":
      """
      Adds a set of fields with the field name and the data type or type string stored in a
      list.
  
      :param fields: Dict of fields with the field name and the data type or type string
                     stored.
                     E.g, [('int_field', DataTypes.INT()), ('string_field', DataTypes.STRING())].
      :return: This schema object.
  
      .. versionadded:: 1.11.0
      """
      if sys.version_info[:2] <= (3, 5) and not isinstance(
          fields, OrderedDict
      ):
          raise TypeError(
              "Must use OrderedDict type in python3.5 or older version to key the "
              "schema in insert order."
          )
      elif sys.version_info[:2] > (3, 5) and not isinstance(
          fields, (OrderedDict, dict)
      ):
          raise TypeError(
              "fields must be stored in a dict or OrderedDict"
          )
  
      for field_name, field_type in fields.items():
          self.field(field_name=field_name, field_type=field_type)
      return self
  
imports: import sys
  from abc import ABCMeta
  from collections import OrderedDict
  from py4j.java_gateway import get_method
  from typing import Dict, Union
  from pyflink.java_gateway import get_gateway
  from pyflink.table.table_schema import TableSchema
  from pyflink.table.types import DataType, _to_java_data_type
label_desc: Use image node_id 4 for calling the Schema obj's underlying member method code with example usage: obj.fields(fields) and returns: self