class_docstr: Represents the source of a dataset stored in a spark table.
class_docstr_tok: ["Represents","the","source","of","a","dataset","stored","in","a","spark","table","."]
code: def __init__(
      self,
      path: Optional[str] = None,
      table_name: Optional[str] = None,
      sql: Optional[str] = None,
  ):
      if (path, table_name, sql).count(None) != 2:
          raise MlflowException(
              'Must specify exactly one of "path", "table_name", or "sql"',
              INVALID_PARAMETER_VALUE,
          )
      self._path = path
      self._table_name = table_name
      self._sql = sql
  
file_path: mlflow/mlflow/data/spark_dataset_source.py
imports: from typing import Any, Dict, Optional
  from mlflow.data.dataset_source import DatasetSource
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE
  from mlflow.utils.annotations import experimental
label_desc: Use image node_id 1 to create a new SparkDatasetSource object from inherited base classes: DatasetSource with example: obj = SparkDatasetSource(path, table_name, sql)