Skip to main content

Session.create_table(name, *, data_types=frozendict({}), default_values=frozendict({}), keys=frozenset({}), partitioning=None)

Create an empty table with columns of the given data_types.
  • Parameters:
    • name (str) – The name of the table to create.
    • data_types (Mapping *[*ColumnName , DataType ]) – The table column names and their corresponding data type.
    • default_values (Mapping *[*ColumnName , Constant | None ]) – Mapping from column name to column default_value.
    • keys (AbstractSet *[*ColumnName ] | Sequence *[*ColumnName ]) – The columns that will become keys of the table. If a Set is given, the keys will be ordered as the table columns.
    • partitioning (str | None) – The definition of how the data will be split across partitions. Default rules:
      • Only non-joined tables are automatically partitioned.
      • Tables are automatically partitioned by hashing their key columns. If there are no key columns, all the dictionarized columns are hashed.
      • Joined tables can only use a sub-partitioning of the table referencing them.
      • Automatic partitioning is done modulo the number of available cores.
      For instance, "modulo4(country)" splits the data across 4 partitions based on the country column’s dictionarized value.
  • Return type: Table

Example