我有一个存储在Hadoop(YARN集群)上的非常大的数据集,我想用它来训练支持向量机分类器。从数据集中的每个数据点提取特征,并以LibSVM格式保存。Spark MLLib可以使用MLUtils.LoadLibSVMFile(JavaSparkContext上下文,String目录)读取这些文件。每个文件都有一行以换行符结尾的双字符。该线表示要素的值。
我想将所有这些文件连接到一个JavaRDD中。我可以将.textFile("../*")与某种.join或.union语句一起使用吗?我不明白该怎么做。。。
你能帮忙吗?我想更多的人会想知道如何有效地做到这一点。
SparkContext.textFile("/path/to/file/*")
将读取所有匹配的文件,并为您表示单个大型RDD。
我认为MLUtils.LoadLibSVMFile(sc, "/path/to/file/*")
会为您加载所有功能。你试过了吗?