Write metadata-only Parquet file from schema. This can be used with `write_to_dataset` to generate `_common_metadata` and `_metadata` sidecar files. Parameters ---------- schema : pyarrow.Schema where : string or pyarrow.NativeFile metadata_collector : list
(schema, where, metadata_collector=None, filesystem=None,
**kwargs)
| 2295 | |
| 2296 | |
| 2297 | def write_metadata(schema, where, metadata_collector=None, filesystem=None, |
| 2298 | **kwargs): |
| 2299 | """ |
| 2300 | Write metadata-only Parquet file from schema. This can be used with |
| 2301 | `write_to_dataset` to generate `_common_metadata` and `_metadata` sidecar |
| 2302 | files. |
| 2303 | |
| 2304 | Parameters |
| 2305 | ---------- |
| 2306 | schema : pyarrow.Schema |
| 2307 | where : string or pyarrow.NativeFile |
| 2308 | metadata_collector : list |
| 2309 | where to collect metadata information. |
| 2310 | filesystem : FileSystem, default None |
| 2311 | If nothing passed, will be inferred from `where` if path-like, else |
| 2312 | `where` is already a file-like object so no filesystem is needed. |
| 2313 | **kwargs : dict, |
| 2314 | Additional kwargs for ParquetWriter class. See docstring for |
| 2315 | `ParquetWriter` for more information. |
| 2316 | |
| 2317 | Examples |
| 2318 | -------- |
| 2319 | Generate example data: |
| 2320 | |
| 2321 | >>> import pyarrow as pa |
| 2322 | >>> table = pa.table({'n_legs': [2, 2, 4, 4, 5, 100], |
| 2323 | ... 'animal': ["Flamingo", "Parrot", "Dog", "Horse", |
| 2324 | ... "Brittle stars", "Centipede"]}) |
| 2325 | |
| 2326 | Write a dataset and collect metadata information. |
| 2327 | |
| 2328 | >>> metadata_collector = [] |
| 2329 | >>> import pyarrow.parquet as pq |
| 2330 | >>> pq.write_to_dataset( |
| 2331 | ... table, 'dataset_metadata', |
| 2332 | ... metadata_collector=metadata_collector) |
| 2333 | |
| 2334 | Write the `_common_metadata` parquet file without row groups statistics. |
| 2335 | |
| 2336 | >>> pq.write_metadata( |
| 2337 | ... table.schema, 'dataset_metadata/_common_metadata') |
| 2338 | |
| 2339 | Write the `_metadata` parquet file with row groups statistics. |
| 2340 | |
| 2341 | >>> pq.write_metadata( |
| 2342 | ... table.schema, 'dataset_metadata/_metadata', |
| 2343 | ... metadata_collector=metadata_collector) |
| 2344 | """ |
| 2345 | filesystem, where = _resolve_filesystem_and_path(where, filesystem) |
| 2346 | |
| 2347 | if hasattr(where, "seek"): # file-like |
| 2348 | cursor_position = where.tell() |
| 2349 | |
| 2350 | writer = ParquetWriter(where, schema, filesystem, **kwargs) |
| 2351 | writer.close() |
| 2352 | |
| 2353 | if metadata_collector is not None: |
| 2354 | # ParquetWriter doesn't expose the metadata until it's written. Write |
nothing calls this directly
no test coverage detected