code: def _replace_placeholder(component: tfx_base_node.BaseNode) -> None:
      """Replaces the RuntimeParameter placeholders with kfp.dsl.PipelineParam."""
      keys = list(component.exec_properties.keys())
      for key in keys:
          exec_property = component.exec_properties[key]
          if not isinstance(exec_property, data_types.RuntimeParameter):
              continue
          component.exec_properties[key] = str(
              dsl.PipelineParam(name=exec_property.name)
          )
  
file_path: tfx/tfx/orchestration/kubeflow/base_component.py
imports: from typing import Dict, List, Set
  from absl import logging
  from kfp import dsl
  from kubernetes import client
  from tfx.dsl.components.base import base_node
  from tfx.orchestration import data_types
  from tfx.orchestration import pipeline
  from tfx.orchestration.kubeflow.proto import kubeflow_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from google.protobuf import json_format
label_desc: Use image node_id 2 for calling a global function with example usage: _replace_placeholder(component) without return types