Reads data from Parquet files, supporting both single files and directories containing multiple Parquet files. Automatically handles local and object store paths.
ParquetInput reads data from Parquet files, supporting both single files and directories containing multiple Parquet files. Automatically handles local and object store paths. Can't specify both a single file path (ending with .parquet) and file_names parameter.
ParquetInput inherits from the base Input class and provides specialized functionality for reading columnar data formats.
ParquetInput
Classapplication_sdk.inputs.parquetInputReads data from Parquet files, supporting both single files and directories containing multiple Parquet files. Automatically handles local and object store paths. Can't specify both a single file path (ending with .parquet) and file_names parameter.
Methods5
__init__
__init__(self, path: str, chunk_size: int = 100000, buffer_size: int = 5000, file_names: Optional[List[str]] = None)Parameters
pathstrchunk_sizeintbuffer_sizeintfile_namesOptional[List[str]]get_dataframe
async get_dataframe(self) -> pd.DataFrameReturns
pd.DataFrame - Combined DataFrame from all specified filesget_batched_dataframe
async get_batched_dataframe(self) -> AsyncIterator[pd.DataFrame]Returns
AsyncIterator[pd.DataFrame] - Iterator yielding batches of rowsget_daft_dataframe
async get_daft_dataframe(self) -> daft.DataFrameReturns
daft.DataFrame - Combined daft DataFrame with lazy evaluationget_batched_daft_dataframe
async get_batched_daft_dataframe(self) -> AsyncIterator[daft.DataFrame]Returns
AsyncIterator[daft.DataFrame] - Iterator yielding batches as daft DataFramesUsage Examples
Single file
Read a single Parquet file
from application_sdk.inputs import ParquetInput
parquet_input = ParquetInput(path="data/users.parquet")
df = await parquet_input.get_dataframe()
Directory with all files
Read all Parquet files from a directory
parquet_input = ParquetInput(
path="s3://bucket/data/",
chunk_size=100000,
buffer_size=5000
)
async for batch_df in parquet_input.get_batched_dataframe():
# Process each batch
pass
Directory with specific files
Read specific files from a directory
parquet_input = ParquetInput(
path="s3://bucket/data/",
file_names=["file1.parquet", "file2.parquet"],
chunk_size=100000
)
See also
- Inputs: Overview of all input classes and common usage patterns
- SQLQueryInput: Read data from SQL databases by executing SQL queries
- JsonInput: Read data from JSON files in JSONL format
- Application SDK README: Overview of the Application SDK and its components