javaldaexample不起作用

nhn9ugyo  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(338)

我是新的Spark,我正在使用 spark-2.1.0-bin-hadoop2.7 .
我已经检查了它的wordscont样本,它工作正常,但javaldaexample没有。
我查了他们的源代码。wordscount需要一个url作为其数据的参数,我已经在hadoop上通过hdfs创建了数据,所以我发送如下路径 hdfs://master:9000/input/data/test.txt .
但是javaldaexample使用静态路径 Dataset<Row> dataset = spark.read().format("libsvm").load("data/mllib/sample_lda_libsvm_data.txt"); 我不知道我应该把文件搬到哪里去。
我得到了这个错误(第51行,第59行)。你能帮我解决这个问题吗?

igsr9ssn

igsr9ssn1#

这是一些示例数据集提供的示例代码,lda的示例数据集可在$spark\u home/data/mllib/本地获得。
这里的示例数据是静态的,并随包提供。
对于您的数据集,您有三种选择:
在类似的行上编写自己的lda应用程序,并从第45行更改代码: Dataset<Row> dataset = spark.read().format("libsvm") .load("data/mllib/sample_lda_libsvm_data.txt");Dataset<Row> dataset = spark.read().format("libsvm") .load("YOUR/DATA_SETS/LOCATION"); 使用相同的代码并从第45行更改路径: Dataset<Row> dataset = spark.read().format("libsvm") .load("data/mllib/sample_lda_libsvm_data.txt");Dataset<Row> dataset = spark.read().format("libsvm") .load("YOUR/DATA_SETS/LOCATION"); 您可以将文件放在本地$spark\u home/data/mllib,然后将文件重命名为sample\lda\u libsvm\u data.txt。
在前两种情况下,您必须构建/创建代码的新jar,然后使用它并使用新jar来执行代码。
如果你还有什么问题,请告诉我。
当做,
~z~凯达尔·迪克西特

abithluo

abithluo2#

从你的日志中我可以看出spark正在寻找 /home/unique/spark-2.1.0-bin-hadoop2.7/work/driver-20170130015037-0017/data/mllib/sample_lda_libsvm_data.txt .
我认为最好的办法是修改该路径并用修改后的路径构建新jar。如果你喜欢的话,你可以把它指向hdfs。
如果您不想这样做,只是想快速测试和玩转,那么您应该能够在本地sparkshell中运行该代码。当您下载并解压缩spark时,spark目录应该包含另一个名为 data . 这个例子的数据可以从那里找到。所以你可以用相对路径将它加载到spark shell中: scala> spark.read.format("libsvm").load("data/mllib/sample_lda_libsvm_data.txt");

相关问题