class_docstr: Lazy loading, memoizing, instantiation of SparkSessions.
  
  Useful when you want to defer SparkSession instantiation and provide access to the same
  instance throughout the application.
class_docstr_tok: ["Lazy","loading",",","memoizing",",","instantiation","of","SparkSessions",".","Useful","when","you","want","to","defer","SparkSession","instantiation","and","provide","access","to","the","same","instance","throughout","the","application","."]
docstr: Spark configurations for reading and writing data from Iceberg Table sources.
  
  Args:
      warehouse_s3_uri (str): The S3 URI of the warehouse.
      catalog (str): The catalog.
  
  Returns:
      List[Tuple[str, str]]: the Spark configurations.
docstr_tok: ["Spark","configurations","for","reading","and","writing","data","from","Iceberg","Table","sources",".","Args",":","warehouse_s3_uri","(","str",")",":","The","S3","URI","of","the","warehouse",".","catalog","(","str",")",":","The","catalog",".","Returns",":","List","[","Tuple","[","str",",","str","]","]",":","the","Spark","configurations","."]
code: def _get_iceberg_configs(
      self, warehouse_s3_uri: str, catalog: str
  ) -> List[Tuple[str, str]]:
      """Spark configurations for reading and writing data from Iceberg Table sources.
  
      Args:
          warehouse_s3_uri (str): The S3 URI of the warehouse.
          catalog (str): The catalog.
  
      Returns:
          List[Tuple[str, str]]: the Spark configurations.
      """
      catalog = catalog.lower()
      return [
          (
              f"spark.sql.catalog.{catalog}",
              "smfs.shaded.org.apache.iceberg.spark.SparkCatalog",
          ),
          (f"spark.sql.catalog.{catalog}.warehouse", warehouse_s3_uri),
          (
              f"spark.sql.catalog.{catalog}.catalog-impl",
              "smfs.shaded.org.apache.iceberg.aws.glue.GlueCatalog",
          ),
          (
              f"spark.sql.catalog.{catalog}.io-impl",
              "smfs.shaded.org.apache.iceberg.aws.s3.S3FileIO",
          ),
          (
              f"spark.sql.catalog.{catalog}.glue.skip-name-validation",
              "true",
          ),
      ]
  
file_path: sagemaker-python-sdk/src/sagemaker/feature_store/feature_processor/_spark_factory.py
imports: from __future__ import absolute_import
  from functools import lru_cache
  from typing import List, Tuple, Dict
  import feature_store_pyspark
  import feature_store_pyspark.FeatureStoreManager
  from pyspark.conf import SparkConf
  from pyspark.context import SparkContext
  from pyspark.sql import SparkSession
  from sagemaker.feature_store.feature_processor._env import EnvironmentHelper
label_desc: Use image node_id 5 for calling the SparkSessionFactory obj's underlying member method code with example usage: obj._get_iceberg_configs(warehouse_s3_uri, catalog) and returns: list