问题描述
我是使用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")