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] (https://github.com/snowflakedb/snowpark-python/blob/v1.39.1/src/snowflake/snowpark/session.py#L2534-L2633)¶
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")