code: def _set_run_tag(run_id, path, version, data_format):
      client = MlflowClient()
      table_info_string = _get_table_info_string(
          path, version, data_format
      )
      existing_run = client.get_run(run_id)
      existing_tag = existing_run.data.tags.get(
          _SPARK_TABLE_INFO_TAG_NAME
      )
      new_table_info = _merge_tag_lines(existing_tag, table_info_string)
      new_tag_value = _generate_datasource_tag_value(new_table_info)
      client.set_tag(run_id, _SPARK_TABLE_INFO_TAG_NAME, new_tag_value)
  
imports: import concurrent.futures
  import logging
  import sys
  import threading
  import uuid
  from py4j.java_gateway import CallbackServerParameters
  import mlflow
  from mlflow import MlflowClient
  from mlflow.exceptions import MlflowException
  from mlflow.spark import FLAVOR_NAME
  from mlflow.tracking.context.abstract_context import RunContextProvider
  from mlflow.utils import _truncate_and_ellipsize
  from mlflow.utils.autologging_utils import ExceptionSafeClass, autologging_is_disabled
  from mlflow.utils.databricks_utils import get_repl_id
  from mlflow.utils.validation import MAX_TAG_VAL_LENGTH
label_desc: Use image node_id 10 for calling a global function with example usage: _set_run_tag(run_id, path, version, data_format) without return types