繁体   English   中英

在 Palantir Foundry 中,如何使用 OOMing 驱动程序或执行程序解析一个非常大的 csv 文件?

[英]In Palantir Foundry how do I parse a very large csv file with OOMing the driver or executor?

类似于How do I parse largecompressed csv files in Foundry? 但在没有压缩文件的情况下,系统生成的 (>10GB) csv 文件需要被解析为 Foundry 数据集。

这种大小的数据集通常会导致驱动程序OOM,那么我该如何解析这个文件呢?

在这种情况下,使用文件系统,您可以读取文件并产生按行操作以拆分每个分隔符 ( , )。

df = raw_dataset
fs = df.filesystem()
def process_file(fl):
    with fs.open("data_pull.csv", "r") as f:
        header = [x.strip() for x in f.readline().split(",")]
        Log = Row(*header)
        for i in f:
            yield Log(*i.split(","))
rdd = fs.files().rdd
rdd = rdd.flatMap(process_file)
df = rdd.toDF()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM