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

Function _ensure_write_partitioning

python/pyarrow/dataset.py:816–843  ·  view source on GitHub ↗
(part, schema, flavor)

Source from the content-addressed store, hash-verified

814
815
816def _ensure_write_partitioning(part, schema, flavor):
817 if isinstance(part, PartitioningFactory):
818 raise ValueError("A PartitioningFactory cannot be used. "
819 "Did you call the partitioning function "
820 "without supplying a schema?")
821
822 if isinstance(part, Partitioning) and flavor:
823 raise ValueError(
824 "Providing a partitioning_flavor with "
825 "a Partitioning object is not supported"
826 )
827 elif isinstance(part, (tuple, list)):
828 # Name of fields were provided instead of a partitioning object.
829 # Create a partitioning factory with those field names.
830 part = partitioning(
831 schema=pa.schema([schema.field(f) for f in part]),
832 flavor=flavor
833 )
834 elif part is None:
835 part = partitioning(pa.schema([]), flavor=flavor)
836
837 if not isinstance(part, Partitioning):
838 raise ValueError(
839 "partitioning must be a Partitioning object or "
840 "a list of column names"
841 )
842
843 return part
844
845
846def write_dataset(data, base_dir, *, basename_template=None, format=None,

Callers 1

write_datasetFunction · 0.85

Calls 3

partitioningFunction · 0.85
schemaMethod · 0.45
fieldMethod · 0.45

Tested by

no test coverage detected