[Datasets] Make BlockMetadata a dataclass (#23852)

This commit is contained in:
Balaji Veeramani 2022-04-20 22:46:25 -07:00 committed by GitHub
parent 0e6c042e29
commit 371d1f4533
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,3 +1,4 @@
from dataclasses import dataclass
import time import time
from typing import ( from typing import (
TypeVar, TypeVar,
@ -142,6 +143,7 @@ class _BlockExecStatsBuilder:
@DeveloperAPI @DeveloperAPI
@dataclass
class BlockMetadata: class BlockMetadata:
"""Metadata about the block. """Metadata about the block.
@ -154,22 +156,15 @@ class BlockMetadata:
exec_stats: Execution stats for this block. exec_stats: Execution stats for this block.
""" """
def __init__( num_rows: Optional[int]
self, size_bytes: Optional[int]
*, schema: Optional[Union[type, "pyarrow.lib.Schema"]]
num_rows: Optional[int], input_files: Optional[List[str]]
size_bytes: Optional[int], exec_stats: Optional[BlockExecStats]
schema: Union[type, "pyarrow.lib.Schema"],
input_files: List[str], def __post_init__(self):
exec_stats: Optional[BlockExecStats] if self.input_files is None:
): self.input_files = []
if input_files is None:
input_files = []
self.num_rows: Optional[int] = num_rows
self.size_bytes: Optional[int] = size_bytes
self.schema: Optional[Any] = schema
self.input_files: List[str] = input_files
self.exec_stats: Optional[BlockExecStats] = exec_stats
@DeveloperAPI @DeveloperAPI