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

问题描述

我是使用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")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...