1
LabeledDocument = Row("id", "text", "label")
sc.parallelize([(0, "a b c d e spark", 1.0),
(1, "b d", 0.0),
(2, "spark f g h", 1.0),
(3, "hadoop mapreduce", 0.0)]) \
.map(lambda x: LabeledDocument(*x)).first()
此代碼將使得像Spark內地圖中的lambda表達式中的*是什麼意思?
行(ID = 0,文本= 'ABCDE火花',標籤= 1.0)
但是輸出,如果你省略*在lambda表達即
sc.parallelize([(0, "a b c d e spark", 1.0),
(1, "b d", 0.0),
(2, "spark f g h", 1.0),
(3, "hadoop mapreduce", 0.0)]) \
.map(lambda x: LabeledDocument(x)).first()
你會得到輸出
行(ID =(0, 'A B C dè火花',1.0))
有人可以告訴我怎麼*工作在分離的元組,並分配給該行的每列?