MCPcopy Create free account
hub / github.com/apache/arrow / write_metadata

Function write_metadata

python/pyarrow/parquet/core.py:2302–2371  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

closeMethod · 0.95
ParquetWriterClass · 0.85
read_metadataFunction · 0.85
seekMethod · 0.80
open_output_streamMethod · 0.45

Tested by

no test coverage detected