Skip to content

Commit a25ea0e

Browse files
Merge pull request #624 from laughingman7743/feature/remove-fastparquet-support
Remove fastparquet support
2 parents 0aa70ca + 104c0d0 commit a25ea0e

12 files changed

Lines changed: 11 additions & 941 deletions

File tree

README.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ Extra packages:
6262
+---------------+---------------------------------------+------------------+
6363
| Arrow | ``pip install PyAthena[Arrow]`` | >=10.0.0 |
6464
+---------------+---------------------------------------+------------------+
65-
| fastparquet | ``pip install PyAthena[fastparquet]`` | >=0.4.0 |
66-
+---------------+---------------------------------------+------------------+
6765

6866
.. _usage:
6967

docs/introduction.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ Extra packages:
3232
+---------------+---------------------------------------+------------------+
3333
| Arrow | ``pip install PyAthena[Arrow]`` | >=7.0.0 |
3434
+---------------+---------------------------------------+------------------+
35-
| fastparquet | ``pip install PyAthena[fastparquet]`` | >=0.4.0 |
36-
+---------------+---------------------------------------+------------------+
3735

3836
.. _features:
3937

pyathena/fastparquet/__init__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

pyathena/fastparquet/util.py

Lines changed: 0 additions & 65 deletions
This file was deleted.

pyathena/pandas/result_set.py

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,13 @@ def _get_parquet_engine(self) -> str:
222222
"""Get the parquet engine to use, handling auto-detection.
223223
224224
Returns:
225-
Name of the parquet engine to use ('pyarrow' or 'fastparquet').
225+
Name of the parquet engine to use ('pyarrow').
226226
227227
Raises:
228-
ImportError: If no suitable parquet engine is available.
228+
ImportError: If pyarrow is not available.
229229
"""
230230
if self._engine == "auto":
231-
return self._get_available_engine(["pyarrow", "fastparquet"])
231+
return self._get_available_engine(["pyarrow"])
232232
return self._engine
233233

234234
def _get_csv_engine(
@@ -554,11 +554,8 @@ def _read_parquet(self, engine) -> "DataFrame":
554554
kwargs = {
555555
"use_threads": True,
556556
}
557-
elif engine == "fastparquet":
558-
unload_location = f"{self._unload_location}*"
559-
kwargs = {}
560557
else:
561-
raise ProgrammingError("Engine must be one of `pyarrow`, `fastparquet`.")
558+
raise ProgrammingError("Engine must be `pyarrow`.")
562559
kwargs.update(self._kwargs)
563560

564561
try:
@@ -592,23 +589,8 @@ def _read_parquet_schema(self, engine) -> Tuple[Dict[str, Any], ...]:
592589
except Exception as e:
593590
_logger.exception(f"Failed to read schema {bucket}/{key}.")
594591
raise OperationalError(*e.args) from e
595-
elif engine == "fastparquet":
596-
from fastparquet import ParquetFile
597-
598-
# TODO: https://github.com/python/mypy/issues/1153
599-
from pyathena.fastparquet.util import to_column_info # type: ignore
600-
601-
if not self._data_manifest:
602-
self._data_manifest = self._read_data_manifest()
603-
bucket, key = parse_output_location(self._data_manifest[0])
604-
try:
605-
file = ParquetFile(f"{bucket}/{key}", open_with=self._fs.open)
606-
return to_column_info(file.schema)
607-
except Exception as e:
608-
_logger.exception(f"Failed to read schema {bucket}/{key}.")
609-
raise OperationalError(*e.args) from e
610592
else:
611-
raise ProgrammingError("Engine must be one of `pyarrow`, `fastparquet`.")
593+
raise ProgrammingError("Engine must be `pyarrow`.")
612594

613595
def _as_pandas(self) -> Union["TextFileReader", "DataFrame"]:
614596
if self.is_unload:

pyproject.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,13 @@ awsathena = "pyathena.sqlalchemy.base:AthenaDialect"
4242
sqlalchemy = ["sqlalchemy>=1.0.0"]
4343
pandas = ["pandas>=1.3.0"]
4444
arrow = ["pyarrow>=10.0.0"]
45-
fastparquet = ["fastparquet>=0.4.0"]
4645

4746
[dependency-groups]
4847
dev = [
4948
"sqlalchemy>=1.0.0",
5049
"pandas>=1.3.0",
5150
"numpy>=1.26.0",
5251
"pyarrow>=10.0.0",
53-
"fastparquet>=0.4.0",
5452
"Jinja2>=3.1.0",
5553
"mypy>=0.900",
5654
"pytest>=3.5",

tests/pyathena/fastparquet/__init__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)