Class Configuration

java.lang.Object
org.apache.flink.api.common.ExecutionConfig.GlobalJobParameters
org.apache.flink.configuration.Configuration
All Implemented Interfaces:
Serializable, Cloneable, ReadableConfig, WritableConfig, org.apache.flink.core.io.IOReadableWritable

@Public public class Configuration extends org.apache.flink.api.common.ExecutionConfig.GlobalJobParameters implements org.apache.flink.core.io.IOReadableWritable, Serializable, Cloneable, ReadableConfig, WritableConfig
Lightweight configuration object which stores key/value pairs.
See Also:
  • Field Details

    • confData

      protected final HashMap<String,Object> confData
      Stores the concrete key/value pairs of this configuration object.

      NOTE: This map stores the values that are actually used, and does not include any escaping that is required by the standard YAML syntax.

  • Constructor Details

    • Configuration

      public Configuration()
      Creates a new empty configuration.
    • Configuration

      public Configuration(Configuration other)
      Creates a new configuration with the copy of the given configuration.
      Parameters:
      other - The configuration to copy the entries from.
  • Method Details

    • fromMap

      public static Configuration fromMap(Map<String,String> map)
      Creates a new configuration that is initialized with the options of the given map.
    • getString

      public String getString(String key, String defaultValue)
      Returns the value associated with the given key as a string. We encourage users and developers to always use ConfigOption for getting the configurations if possible, for its rich description, type, default-value and other supports. The string-key-based getter should only be used when ConfigOption is not applicable, e.g., the key is programmatically generated in runtime.
      Parameters:
      key - the key pointing to the associated value
      defaultValue - the default value which is returned in case there is no value associated with the given key
      Returns:
      the (default) value associated with the given key
    • setString

      public void setString(String key, String value)
      Adds the given key/value pair to the configuration object. We encourage users and developers to always use ConfigOption for setting the configurations if possible, for its rich description, type, default-value and other supports. The string-key-based setter should only be used when ConfigOption is not applicable, e.g., the key is programmatically generated in runtime.
      Parameters:
      key - the key of the key/value pair to be added
      value - the value of the key/value pair to be added
    • getBytes

      @Internal public byte[] getBytes(String key, byte[] defaultValue)
      Returns the value associated with the given key as a byte array.
      Parameters:
      key - The key pointing to the associated value.
      defaultValue - The default value which is returned in case there is no value associated with the given key.
      Returns:
      the (default) value associated with the given key.
    • setBytes

      @Internal public void setBytes(String key, byte[] bytes)
      Adds the given byte array to the configuration object. If key is null then nothing is added.
      Parameters:
      key - The key under which the bytes are added.
      bytes - The bytes to be added.
    • getValue

      @PublicEvolving public String getValue(ConfigOption<?> configOption)
      Returns the value associated with the given config option as a string.
      Parameters:
      configOption - The configuration option
      Returns:
      the (default) value associated with the given config option
    • getEnum

      @PublicEvolving public <T extends Enum<T>> T getEnum(Class<T> enumClass, ConfigOption<String> configOption)
      Returns the value associated with the given config option as an enum.
      Parameters:
      enumClass - The return enum class
      configOption - The configuration option
      Throws:
      IllegalArgumentException - If the string associated with the given config option cannot be parsed as a value of the provided enum class.
    • keySet

      public Set<String> keySet()
      Returns the keys of all key/value pairs stored inside this configuration object.
      Returns:
      the keys of all key/value pairs stored inside this configuration object
    • addAllToProperties

      public void addAllToProperties(Properties props)
      Adds all entries in this Configuration to the given Properties.
    • addAll

      public void addAll(Configuration other)
    • addAll

      public void addAll(Configuration other, String prefix)
      Adds all entries from the given configuration into this configuration. The keys are prepended with the given prefix.
      Parameters:
      other - The configuration whose entries are added to this configuration.
      prefix - The prefix to prepend.
    • clone

      public Configuration clone()
      Overrides:
      clone in class Object
    • containsKey

      public boolean containsKey(String key)
      Checks whether there is an entry with the specified key.
      Parameters:
      key - key of entry
      Returns:
      true if the key is stored, false otherwise
    • contains

      @PublicEvolving public boolean contains(ConfigOption<?> configOption)
      Checks whether there is an entry for the given config option.
      Parameters:
      configOption - The configuration option
      Returns:
      true if a valid (current or deprecated) key of the config option is stored, false otherwise
    • get

      public <T> T get(ConfigOption<T> option)
      Please check the java doc of getRawValueFromOption(ConfigOption). If no keys are found in Configuration, default value of the given option will return. Please make sure there will be at least one value available. Otherwise, a NPE will be thrown by Flink when the value is used.

      NOTE: current logic is not able to get the default value of the fallback key's ConfigOption, in case the given ConfigOption has no default value. If you want to use fallback key, please make sure its value could be found in Configuration at runtime.

      Specified by:
      get in interface ReadableConfig
      Type Parameters:
      T - type of the value to read
      Parameters:
      option - metadata of the option to read
      Returns:
      the value of the given option
      See Also:
    • get

      @PublicEvolving public <T> T get(ConfigOption<T> configOption, T overrideDefault)
      Returns the value associated with the given config option as a T. If no value is mapped under any key of the option, it returns the specified default instead of the option's default value.
      Parameters:
      configOption - The configuration option
      overrideDefault - The value to return if no value was mapper for any key of the option
      Returns:
      the configured value associated with the given config option, or the overrideDefault
    • getOptional

      public <T> Optional<T> getOptional(ConfigOption<T> option)
      Description copied from interface: ReadableConfig
      Reads a value using the metadata included in ConfigOption. In contrast to ReadableConfig.get(ConfigOption) returns Optional.empty() if value not present.
      Specified by:
      getOptional in interface ReadableConfig
      Type Parameters:
      T - type of the value to read
      Parameters:
      option - metadata of the option to read
      Returns:
      read value or Optional.empty() if not found
      See Also:
    • set

      public <T> Configuration set(ConfigOption<T> option, T value)
      Description copied from interface: WritableConfig
      Stores a given value using the metadata included in the ConfigOption. The value should be readable back through ReadableConfig.
      Specified by:
      set in interface WritableConfig
      Type Parameters:
      T - type of the value to be stored
      Parameters:
      option - metadata information
      value - value to be stored
      Returns:
      instance of this configuration for fluent API
    • toMap

      public Map<String,String> toMap()
      Description copied from interface: ReadableConfig
      Converts the configuration items into a map of string key-value pairs.
      Specified by:
      toMap in interface ReadableConfig
      Overrides:
      toMap in class org.apache.flink.api.common.ExecutionConfig.GlobalJobParameters
      Returns:
      a map containing the configuration properties, where the keys are strings and the values are the corresponding configuration values in string format.
    • toFileWritableMap

      @Internal public Map<String,String> toFileWritableMap()
      Convert Config into a Map<String, String> representation.

      NOTE: This method is extracted from the toMap() method and should be called when Config needs to be written to a file.

      This method ensures the value is properly escaped when writing the key-value pair to a standard YAML file.

    • removeConfig

      public <T> boolean removeConfig(ConfigOption<T> configOption)
      Removes given config option from the configuration.
      Type Parameters:
      T - Type of the config option
      Parameters:
      configOption - config option to remove
      Returns:
      true is config has been removed, false otherwise
    • removeKey

      public boolean removeKey(String key)
      Removes given key from the configuration.
      Parameters:
      key - key of a config option to remove
      Returns:
      true is config has been removed, false otherwise
    • read

      public void read(org.apache.flink.core.memory.DataInputView in) throws IOException
      Specified by:
      read in interface org.apache.flink.core.io.IOReadableWritable
      Throws:
      IOException
    • write

      public void write(org.apache.flink.core.memory.DataOutputView out) throws IOException
      Specified by:
      write in interface org.apache.flink.core.io.IOReadableWritable
      Throws:
      IOException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class org.apache.flink.api.common.ExecutionConfig.GlobalJobParameters
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class org.apache.flink.api.common.ExecutionConfig.GlobalJobParameters
    • toString

      public String toString()
      Overrides:
      toString in class Object