> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# atoti.Session.read_parquet()

#### Session.read\_parquet(path, /, \*, client\_side\_encryption=None, columns=frozendict(\{}), data\_types=frozendict(\{}), default\_values=frozendict(\{}), keys=frozenset(\{}), partitioning=None, table\_name=None, \*\*kwargs)

Read a Parquet file into a table.

<Warning>
  This method is deprecated since 0.9.12.
</Warning>

The alternative is:

```pycon theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
>>> import pprint
>>> from atoti_parquet import ParquetLoad
>>> path = test_resources_path / "dates.parquet"
>>> parquet_load = ParquetLoad(path)
>>> data_types = session.tables.infer_data_types(parquet_load)
>>> table = session.create_table("Example", data_types=data_types)
>>> table.load(parquet_load)
>>> pprint.pp(
...     {column_name: table[column_name].data_type for column_name in table}
... )
{'ID': 'long',
 'Date': 'LocalDateTime',
 'Continent': 'String',
 'Country': 'String',
 'City': 'String',
 'Color': 'String',
 'Quantity': 'double',
 'Price': 'double'}
>>> table.row_count
10
```

This alternative can be refactored to move the [`load()`](./atoti.Table.load#atoti.Table.load) call inside a [`data_transaction()`](./atoti.tables.Tables.data_transaction#atoti.tables.Tables.data_transaction).

* **Parameters:**
  * **client\_side\_encryption** ([*ClientSideEncryptionConfig*](./atoti.client_side_encryption_config#atoti.ClientSideEncryptionConfig) *|* *None*) – See [`atoti_parquet.ParquetLoad.client_side_encryption`](./atoti_parquet.parquet_load#atoti_parquet.ParquetLoad.client_side_encryption).
  * **columns** (*Mapping* *\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str) *,* *ColumnName* *]*) – See [`atoti_parquet.ParquetLoad.columns`](./atoti_parquet.parquet_load#atoti_parquet.ParquetLoad.columns).
  * **data\_types** (*Mapping* \*\[\**ColumnName* *,* *DataType* *]*) – See [`create_table()`](./atoti.Session.create_table#atoti.Session.create_table)’s *data\_types*.
  * **default\_values** (*Mapping* \*\[\**ColumnName* *,* *Constant* *|* *None* *]*) – See [`create_table()`](./atoti.Session.create_table#atoti.Session.create_table)’s *default\_values*.
  * **keys** (*AbstractSet* \*\[\**ColumnName* *]*  *|* *Sequence* \*\[\**ColumnName* *]*) – See [`create_table()`](./atoti.Session.create_table#atoti.Session.create_table)’s *keys*.
  * **partitioning** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *|* *None*) – See [`create_table()`](./atoti.Session.create_table#atoti.Session.create_table)’s *partitioning*.
  * **path** (*Path* *|* [*str*](https://docs.python.org/3/library/stdtypes.html#str)) – See [`atoti_parquet.ParquetLoad.path`](./atoti_parquet.parquet_load#atoti_parquet.ParquetLoad.path).
  * **table\_name** (*TableName* *|* *None*) – See [`create_table()`](./atoti.Session.create_table#atoti.Session.create_table)’s *name*.
  * **kwargs** (*Unpack* *\[* *\_ReadParquetPrivateParameters* *]*)
* **Return type:**
  [Table](./atoti.table#atoti.Table)
