我可以在 Spark MLLib 中使用 CSV 文件吗?

Can I use a CSV in Spark MLLib?

我刚开始使用 Spark 的 MLLib Python API。我的数据采用 CSV 格式,如下所示:

Label   0   1   2   3   4   5   6   7   8   9   ... 758 759 760 761 762 763 764 765 766 767
0   -0.168307   -0.277797   -0.248202   -0.069546   0.176131    -0.152401   0.12664 -0.401460   0.125926    0.279061    ... -0.289871   0.207264    -0.140448   -0.426980   -0.328994   0.328007    0.486793    0.222587    0.650064    -0.513640
3   -0.313138   -0.045043   0.279587    -0.402598   -0.165238   -0.464669   0.09019 0.008703    0.074541    0.142638    ... -0.094025   0.036567    -0.059926   -0.492336   -0.006370   0.108954    0.350182    -0.144818   0.306949    -0.216190
2   -0.379293   -0.340999   0.319142    0.024552    0.142129    0.042989    -0.60938    0.052103    -0.293400   0.162741    ... 0.108854    -0.025618   0.149078    -0.917385   0.110629    0.146427

我可以通过 df = spark.read.format("csv").option("header", "true").load("file.csv") 加载来按原样使用它吗?我正在尝试训练随机森林模型。我试过研究它,但它似乎不是一个大话题。我不想在没有完全确定它会起作用的情况下就尝试它,因为我使用的集群排队时间很长。

是的!您还需要推断架构。

df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("file.csv")

如果您有许多文件具有相同的列名和数据类型,请保存架构以供重复使用。

schema = df.schema

然后下次读取具有相同列的 csv 文件时,您可以

df = spark.read.format("csv").option("header", "true").option("schema", schema).load("file.csv")