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")