【问题标题】:How to merge text files using mapping and reducing in Java Spark MLLib?如何在 Java Spark MLLib 中使用映射和归约合并文本文件?
【发布时间】:2015-07-08 14:11:51
【问题描述】:

我有一个非常大的数据集存储在 Hadoop(YARN 集群)上,我想在其上训练支持向量机分类器。 从数据集中的每个数据点中提取特征并以LibSVM 格式保存。 Spark MLLib 可以使用MLUtils.LoadLibSVMFile(JavaSparkContext 上下文,字符串目录)读取这些文件。 每个文件都有一行以换行符结尾的双打。线表示特征的值。

我想将所有这些文件连接成一个 JavaRDD。 我可以将 .textFile("../*") 与某种 .join 或 .union 语句一起使用吗? 我不明白如何做到这一点......

你能帮忙吗? 我想更多的人想知道如何有效地做到这一点。

【问题讨论】:

    标签: java apache-spark svm hadoop-yarn apache-spark-mllib


    【解决方案1】:

    SparkContext.textFile("/path/to/file/*") 将读取所有匹配的文件并代表您一个大型 RDD。

    我认为MLUtils.LoadLibSVMFile(sc, "/path/to/file/*") 会为您加载所有功能。你试过吗?

    【讨论】:

    • 你是对的 :) MLUtils.LoadLibSVMFile(sc, "/path/to/file/*") 确实加载了我需要的所有功能。您是否还知道我在哪里可以找到 Spark 的 RBF 内核版本,或者我们可以与某些人一起对已经可用的线性内核进行此类扩展?
    • 我认为人们已经是work in on it。我希望你有耐心:)
    • 感谢您的链接!我有耐心,但也想贡献我的知识:) 但是它是用 Scala 编写的,所以我可能无法在 Java 中使用它? (我正在用 Java 编写代码)
    • 是的,你可以。你可以在一个项目中混合使用Java和Scala,许多IDE可以分别识别和编译。
    • 您是否知道 SVMModel.predict() * 的输出是什么意思?如下所示,这些值对我来说毫无意义。也文档中缺少... * spark.apache.org/docs/latest/api/java/org/apache/spark/mllib/… -18.841544889249917 0.0 168.32916035523283 1.0 420.67763915879794 1.0 -974.1942589201286 0.0 71.73602841256813 1.0 233.13636224524993 1.0 -1000.5902168199027 0.0 跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多