回傳此資料來源的一連串分割。
分割區用於將資料讀取操作拆分成平行任務。 如果此方法回傳 N 個分割,查詢規劃器將建立 N 個任務。 每個任務會平行執行 read() ,使用相應的分割值讀取資料。
這個方法會在查詢規劃期間呼叫一次。 預設情況下,它會回傳一個帶有 的單一 None分割。 子類別可以覆寫此方法以回傳多個分割區。
建議在讀取大型資料集時,為了提升效能,應覆蓋此方法。
語法
partitions()
退貨
Sequence[InputPartition]
此資料來源的一連串分割。 每個分割值必須是它的一個實例 InputPartition 或其子類別。
Notes
所有分割值必須是可選取的物件。
Examples
回傳整數列表:
def partitions(self):
return [InputPartition(1), InputPartition(2), InputPartition(3)]
回傳一串字串:
def partitions(self):
return [InputPartition("a"), InputPartition("b"), InputPartition("c")]
回傳一個範圍列表:
class RangeInputPartition(InputPartition):
def __init__(self, start, end):
self.start = start
self.end = end
def partitions(self):
return [RangeInputPartition(1, 3), RangeInputPartition(5, 10)]