class_docstr: InputLoader that reads data in as a Spark DataFrame.
class_docstr_tok: ["InputLoader","that","reads","data","in","as","a","Spark","DataFrame","."]
docstr: Load the contents from an Iceberg table as a DataFrame.
  
  Args:
      iceberg_table_data_source (IcebergTableDataSource): An Iceberg Table source.
      input_start_offset (str): Start offset that is used to calculate the input start date.
      input_end_offset (str): End offset that is used to calculate the input end date.
  
  Returns:
      DataFrame: Contents of the Iceberg Table as a Spark DataFrame.
docstr_tok: ["Load","the","contents","from","an","Iceberg","table","as","a","DataFrame",".","Args",":","iceberg_table_data_source","(","IcebergTableDataSource",")",":","An","Iceberg","Table","source",".","input_start_offset","(","str",")",":","Start","offset","that","is","used","to","calculate","the","input","start","date",".","input_end_offset","(","str",")",":","End","offset","that","is","used","to","calculate","the","input","end","date",".","Returns",":","DataFrame",":","Contents","of","the","Iceberg","Table","as","a","Spark","DataFrame","."]
code: def _get_iceberg_offset_filter_condition(
      self,
      event_time_feature_name: str,
      input_start_offset: str,
      input_end_offset: str,
  ):
      """Load the contents from an Iceberg table as a DataFrame.
  
      Args:
          iceberg_table_data_source (IcebergTableDataSource): An Iceberg Table source.
          input_start_offset (str): Start offset that is used to calculate the input start date.
          input_end_offset (str): End offset that is used to calculate the input end date.
  
      Returns:
          DataFrame: Contents of the Iceberg Table as a Spark DataFrame.
      """
      if input_start_offset is None and input_end_offset is None:
          return None
  
      offset_parser = InputOffsetParser(
          self.environment_helper.get_job_scheduled_time()
      )
      start_offset_time = offset_parser.get_iso_format_offset_date(
          input_start_offset
      )
      end_offset_time = offset_parser.get_iso_format_offset_date(
          input_end_offset
      )
  
      start_condition = (
          f"{event_time_feature_name} >= '{start_offset_time}'"
          if input_start_offset
          else None
      )
      end_condition = (
          f"{event_time_feature_name} < '{end_offset_time}'"
          if input_end_offset
          else None
      )
  
      conditions = filter(None, [start_condition, end_condition])
      return " AND ".join(conditions)
  
imports: from __future__ import absolute_import
  import logging
  import re
  from abc import ABC, abstractmethod
  from typing import Generic, Optional, TypeVar, Union
  import attr
  from pyspark.sql import DataFrame
  from sagemaker import Session
  from sagemaker.feature_store.feature_processor._constants import FEATURE_GROUP_ARN_REGEX_PATTERN
  from sagemaker.feature_store.feature_processor._data_source import CSVDataSource, FeatureGroupDataSource, ParquetDataSource, IcebergTableDataSource
  from sagemaker.feature_store.feature_processor._spark_factory import SparkSessionFactory
  from sagemaker.feature_store.feature_processor._input_offset_parser import InputOffsetParser
  from sagemaker.feature_store.feature_processor._env import EnvironmentHelper
label_desc: Use image node_id 5 for calling the SparkDataFrameInputLoader obj's underlying member method code with example usage: obj._get_iceberg_offset_filter_condition(event_time_feature_name, input_start_offset, input_end_offset) and returns: str, None