无法在Spark中读取libsvm文件

问题描述 投票:1回答:1

我正在尝试使用Spark和pyspark读取.txt文件,但遇到了我无法理解的错误。我已经正确安装了py4j,也可以毫无问题地读取csv文件。

这是我的代码:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("test").getOrCreate()
my_data = spark.read.format("libsvm").load("sample_libsvm_data.txt")

我得到的错误是这样:

---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
<ipython-input-4-3347b4cad068> in <module>
----> 1 my_data = spark.read.format("libsvm").load("sample_libsvm_data.txt")

C:\ProgramData\Anaconda3\lib\site-packages\pyspark\sql\readwriter.py in load(self, path, format, schema, **options)
    164         self.options(**options)
    165         if isinstance(path, basestring):
--> 166             return self._df(self._jreader.load(path))
    167         elif path is not None:
    168             if type(path) != list:

C:\ProgramData\Anaconda3\lib\site-packages\py4j\java_gateway.py in __call__(self, *args)
   1255         answer = self.gateway_client.send_command(command)
   1256         return_value = get_return_value(
-> 1257             answer, self.gateway_client, self.target_id, self.name)
   1258 
   1259         for temp_arg in temp_args:

谢谢您的帮助。

apache-spark pyspark libsvm
1个回答
0
投票

先前遇到相同的问题。通过设置“ numFeatures”选项解决了该问题。

my_data = spark.read.format('libsvm').option("numFeatures", "692").load('sample_libsvm_data.txt')
© www.soinside.com 2019 - 2024. All rights reserved.