snowflake.snowpark.Session.tableΒΆ

Session.table(name: Union[str, Iterable[str]], is_temp_table_for_cleanup: bool = False, *, time_travel_mode: Optional[Literal['at', 'before']] = None, statement: Optional[str] = None, offset: Optional[int] = None, timestamp: Optional[Union[str, datetime]] = None, timestamp_type: Optional[Union[str, TimestampTimeZone]] = None, stream: Optional[str] = None) β†’ Table[source]ΒΆ

Returns a Table that points the specified table.

Parameters:
  • name – A string or list of strings that specify the table name or fully-qualified object identifier (database name, schema name, and table name).

  • _emit_ast – Whether to emit AST statements.

  • time_travel_mode – Time travel mode, either β€˜at’ or β€˜before’. Exactly one of statement, offset, timestamp, or stream must be provided when time_travel_mode is set.

  • statement – Query ID for time travel.

  • offset – Negative integer representing seconds in the past for time travel.

  • timestamp – Timestamp string or datetime object.

  • timestamp_type – Type of timestamp interpretation (β€˜NTZ’, β€˜LTZ’, or β€˜TZ’).

  • stream – Stream name for time travel.

  • Note – If your table name contains special characters, use double quotes to mark it like this, session.table('"my table"'). For fully qualified names, you need to use double quotes separately like this, session.table('"my db"."my schema"."my.table"'). Refer to Identifier Requirements.

Examples:

>>> df1 = session.create_dataframe([[1, 2], [3, 4]], schema=["a", "b"])
>>> df1.write.save_as_table("my_table", mode="overwrite", table_type="temporary")
>>> session.table("my_table").collect()
[Row(A=1, B=2), Row(A=3, B=4)]
>>> current_db = session.get_current_database()
>>> current_schema = session.get_current_schema()
>>> session.table([current_db, current_schema, "my_table"]).collect()
[Row(A=1, B=2), Row(A=3, B=4)]

>>> df_at_time = session.table("my_table", time_travel_mode="at", timestamp="2023-01-01 12:00:00", timestamp_type="LTZ") 
>>> df_before = session.table("my_table", time_travel_mode="before", statement="01234567-abcd-1234-5678-123456789012") 
>>> df_offset = session.table("my_table", time_travel_mode="at", offset=-3600) 
>>> df_stream = session.table("my_table", time_travel_mode="at", stream="my_stream") 

# timestamp_type automatically set to "TZ" due to timezone info
>>> import datetime, pytz  
>>> tz_aware = datetime.datetime(2023, 1, 1, 12, 0, 0, tzinfo=pytz.UTC)  
>>> table1 = session.read.table("my_table", time_travel_mode="at", timestamp=tz_aware)  

# timestamp_type remains "NTZ" (user's explicit choice respected)
>>> table2 = session.read.table("my_table", time_travel_mode="at", timestamp=tz_aware, timestamp_type="NTZ")  
Copy