class_docstr: Base class for a node in TFX pipeline.
class_docstr_tok: ["Base","class","for","a","node","in","TFX","pipeline","."]
docstr: Node id, unique across all TFX nodes in a pipeline.
  
  If `id` is set by the user, return it directly.
  Otherwise, return <node_class_name>.
  
  Returns:
    node id.
docstr_tok: ["Node","id",",","unique","across","all","TFX","nodes","in","a","pipeline",".","If","`","id","`","is","set","by","the","user",",","return","it","directly",".","Otherwise",",","return","<","node_class_name",">",".","Returns",":","node","id","."]
code: def id(self) -> str:
      """Node id, unique across all TFX nodes in a pipeline.
  
      If `id` is set by the user, return it directly.
      Otherwise, return <node_class_name>.
  
      Returns:
        node id.
      """
      if self._id:
          return self._id
      node_class = deprecation_utils.get_first_nondeprecated_class(
          self.__class__
      )
      return node_class.__name__
  
imports: import abc
  import copy
  from typing import Any, Dict, Optional, Type
  from tfx.dsl.components.base import base_driver
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.components.base import executor_spec
  from tfx.dsl.context_managers import dsl_context_registry
  from tfx.dsl.experimental.node_execution_options import utils
  from tfx.utils import deprecation_utils
  from tfx.utils import doc_controls
  from tfx.utils import json_utils
  from tfx.utils import name_utils
label_desc: Use image node_id 7 for calling the BaseNode obj's underlying member method code with example usage: obj.id() and returns: node_class, self