當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python dask.bag.Bag.to_textfiles用法及代碼示例

用法:

Bag.to_textfiles(path, name_function=None, compression='infer', encoding='utf-8', compute=True, storage_options=None, last_endline=False, **kwargs)

將 dask Bag 寫入磁盤,每個分區一個文件名,每個元素一行。

路徑:這將為您包中的每個分區創建一個文件。您可以通過多種方式指定文件名。

使用全局字符串

>>> b.to_textfiles('/path/to/data/*.json.gz')

* 將被遞增序列 1, 2, ... 替換

/path/to/data/0.json.gz
/path/to/data/1.json.gz

使用 globstring 和 name_function= 關鍵字參數。 name_function 函數應該期望一個整數並產生一個字符串。 name_function 生成的字符串必須保持其各自分區索引的順序。

>>> from datetime import date, timedelta
>>> def name(i):
...     return str(date(2015, 1, 1) + i * timedelta(days=1))
>>> name(0)
'2015-01-01'
>>> name(15)
'2015-01-16'
>>> b.to_textfiles('/path/to/data/*.json.gz', name_function=name)
/path/to/data/2015-01-01.json.gz
/path/to/data/2015-01-02.json.gz
...

您還可以提供明確的路徑列表。

>>> paths = ['/path/to/data/alice.json.gz', '/path/to/data/bob.json.gz', ...]  
>>> b.to_textfiles(paths)

壓縮:具有與已知壓縮算法(gz,bz2)對應的擴展名的文件名將被相應地壓縮。

包內容物: 包在調用to_textfiles必須是一袋文本字符串。例如,可以通過映射將一袋字典寫入 JSON 文本文件json.dumps先上袋子,然後調用to_textfiles

>>> b_dict.map(json.dumps).to_textfiles("/path/to/data/*.json")

末行:默認情況下,最後一行不以換行符結尾。經過last_endline=True反轉默認值。

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.bag.Bag.to_textfiles。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。