Hi
I am getting an error
Also, I am getting an error in mlib.ALS.train function when passing
dataframe (do I need to convert the DF to RDD?)
Code:
training = ssc.sql("select userId,movieId,rating from ratings where
partitionKey < 6").cache()
print type(training)
model = ALS.train(training,rank,numIter,lmbda)
Error:
<class 'pyspark.sql.dataframe.DataFrame'>
Traceback (most recent call last):
File "D:\Project\Spark\code\movie_sql.py", line 109, in <module>
bestConf = getBestModel(sc,ssc,training,validation,validationNoRating)
File "D:\Project\Spark\code\movie_sql.py", line 54, in getBestModel
model = ALS.train(trainingRDD,rank,numIter,lmbda)
File
"D:\spark\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\python\pyspark\mllib\recommendation.py",
line 139, in train
model = callMLlibFunc("trainALSModel", cls._prepare(ratings), rank,
iterations,
File
"D:\spark\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\python\pyspark\mllib\recommendation.py",
line 127, in _prepare
assert isinstance(ratings, RDD), "ratings should be RDD"
AssertionError: ratings should be RDD
It was working fine in 1.2.0 (till last night :))
Any solution? I am thinking to map the training dataframe back to a RDD,
byt will lose the schema information.
Best
Ayan
On Mon, Apr 20, 2015 at 10:23 PM, ayan guha <[email protected]> wrote:
> Hi
> Just upgraded to Spark 1.3.1.
>
> I am getting an warning
>
> Warning (from warnings module):
> File
> "D:\spark\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\python\pyspark\sql\context.py",
> line 191
> warnings.warn("inferSchema is deprecated, please use createDataFrame
> instead")
> UserWarning: inferSchema is deprecated, please use createDataFrame instead
>
> However, documentation still says to use inferSchema.
> Here: http://spark.apache.org/docs/latest/sql-programming-guide.htm in
> section
>
> Also, I am getting an error in mlib.ALS.train function when passing
> dataframe (do I need to convert the DF to RDD?)
>
> Code:
> training = ssc.sql("select userId,movieId,rating from ratings where
> partitionKey < 6").cache()
> print type(training)
> model = ALS.train(training,rank,numIter,lmbda)
>
> Error:
> <class 'pyspark.sql.dataframe.DataFrame'>
> Rank:8 Lmbda:1.0 iteration:10
>
> Traceback (most recent call last):
> File "D:\Project\Spark\code\movie_sql.py", line 109, in <module>
> bestConf = getBestModel(sc,ssc,training,validation,validationNoRating)
> File "D:\Project\Spark\code\movie_sql.py", line 54, in getBestModel
> model = ALS.train(trainingRDD,rank,numIter,lmbda)
> File
> "D:\spark\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\python\pyspark\mllib\recommendation.py",
> line 139, in train
> model = callMLlibFunc("trainALSModel", cls._prepare(ratings), rank,
> iterations,
> File
> "D:\spark\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\spark-1.3.1-bin-hadoop2.6\python\pyspark\mllib\recommendation.py",
> line 127, in _prepare
> assert isinstance(ratings, RDD), "ratings should be RDD"
> AssertionError: ratings should be RDD
>
> --
> Best Regards,
> Ayan Guha
>
--
Best Regards,
Ayan Guha