class_docstr: User-facing catalog API, accessible through `SparkSession.catalog`.
  
  This is a thin wrapper around its Scala implementation org.apache.spark.sql.catalog.Catalog.
  
  .. versionchanged:: 3.4.0
      Supports Spark Connect.
class_docstr_tok: ["User-facing","catalog","API",",","accessible","through","`","SparkSession.catalog","`",".","This","is","a","thin","wrapper","around","its","Scala","implementation","org.apache.spark.sql.catalog.Catalog",".","..","versionchanged",":",":","3.4.0","Supports","Spark","Connect","."]
docstr: Caches the specified table in-memory or with given storage level.
  Default MEMORY_AND_DISK.
  
  .. versionadded:: 2.0.0
  
  Parameters
  ----------
  tableName : str
      name of the table to get.
  
      .. versionchanged:: 3.4.0
          Allow ``tableName`` to be qualified with catalog name.
  
  storageLevel : :class:`StorageLevel`, optional
      storage level to set for persistence.
  
      .. versionchanged:: 3.5.0
          Allow to specify storage level.
  
  Examples
  --------
  >>> _ = spark.sql("DROP TABLE IF EXISTS tbl1")
  >>> _ = spark.sql("CREATE TABLE tbl1 (name STRING, age INT) USING parquet")
  >>> spark.catalog.cacheTable("tbl1")
  
  or
  
  >>> spark.catalog.cacheTable("tbl1", StorageLevel.OFF_HEAP)
  
  Throw an analysis exception when the table does not exist.
  
  >>> spark.catalog.cacheTable("not_existing_table")
  Traceback (most recent call last):
      ...
  AnalysisException: ...
  
  Using the fully qualified name for the table.
  
  >>> spark.catalog.cacheTable("spark_catalog.default.tbl1")
  >>> spark.catalog.uncacheTable("tbl1")
  >>> _ = spark.sql("DROP TABLE tbl1")
docstr_tok: ["Caches","the","specified","table","in-memory","or","with","given","storage","level",".","Default","MEMORY_AND_DISK",".","..","versionadded",":",":","2.0.0","Parameters","--","--","--","--","--","tableName",":","str","name","of","the","table","to","get",".","..","versionchanged",":",":","3.4.0","Allow","``","tableName","``","to","be","qualified","with","catalog","name",".","storageLevel",":",":","class",":","`","StorageLevel","`",",","optional","storage","level","to","set","for","persistence",".","..","versionchanged",":",":","3.5.0","Allow","to","specify","storage","level",".","Examples","--","--","--","--",">",">",">","_","=","spark.sql","(","``","DROP","TABLE","IF","EXISTS","tbl1","''",")",">",">",">","_","=","spark.sql","(","``","CREATE","TABLE","tbl1","(","name","STRING",",","age","INT",")","USING","parquet","''",")",">",">",">","spark.catalog.cacheTable","(","``","tbl1","''",")","or",">",">",">","spark.catalog.cacheTable","(","``","tbl1","''",",","StorageLevel.OFF_HEAP",")","Throw","an","analysis","exception","when","the","table","does","not","exist",".",">",">",">","spark.catalog.cacheTable","(","``","not_existing_table","''",")","Traceback","(","most","recent","call","last",")",":","...","AnalysisException",":","...","Using","the","fully","qualified","name","for","the","table",".",">",">",">","spark.catalog.cacheTable","(","``","spark_catalog.default.tbl1","''",")",">",">",">","spark.catalog.uncacheTable","(","``","tbl1","''",")",">",">",">","_","=","spark.sql","(","``","DROP","TABLE","tbl1","''",")"]
code: def cacheTable(
      self, tableName: str, storageLevel: Optional[StorageLevel] = None
  ) -> None:
      """Caches the specified table in-memory or with given storage level.
      Default MEMORY_AND_DISK.
  
      .. versionadded:: 2.0.0
  
      Parameters
      ----------
      tableName : str
          name of the table to get.
  
          .. versionchanged:: 3.4.0
              Allow ``tableName`` to be qualified with catalog name.
  
      storageLevel : :class:`StorageLevel`, optional
          storage level to set for persistence.
  
          .. versionchanged:: 3.5.0
              Allow to specify storage level.
  
      Examples
      --------
      >>> _ = spark.sql("DROP TABLE IF EXISTS tbl1")
      >>> _ = spark.sql("CREATE TABLE tbl1 (name STRING, age INT) USING parquet")
      >>> spark.catalog.cacheTable("tbl1")
  
      or
  
      >>> spark.catalog.cacheTable("tbl1", StorageLevel.OFF_HEAP)
  
      Throw an analysis exception when the table does not exist.
  
      >>> spark.catalog.cacheTable("not_existing_table")
      Traceback (most recent call last):
          ...
      AnalysisException: ...
  
      Using the fully qualified name for the table.
  
      >>> spark.catalog.cacheTable("spark_catalog.default.tbl1")
      >>> spark.catalog.uncacheTable("tbl1")
      >>> _ = spark.sql("DROP TABLE tbl1")
      """
      if storageLevel:
          javaStorageLevel = self._sc._getJavaStorageLevel(storageLevel)
          self._jcatalog.cacheTable(tableName, javaStorageLevel)
      else:
          self._jcatalog.cacheTable(tableName)
  
imports: import sys
  import warnings
  from typing import Any, Callable, NamedTuple, List, Optional, TYPE_CHECKING
  from pyspark.errors import PySparkTypeError
  from pyspark.storagelevel import StorageLevel
  from pyspark.sql.dataframe import DataFrame
  from pyspark.sql.session import SparkSession
  from pyspark.sql.types import StructType
label_desc: Use image node_id 23 for calling the Catalog obj's underlying member method code with example usage: obj.cacheTable(tableName, storageLevel) without return types