0
我有一些行的pyspark.sql.DataFrame,如果我嘗試把它們中的一些,我可以看到的是作爲填充料,例如:星火sql.DataFrame過濾功能無法正常運行
train_df.take(20)
回我:
[Row(entityId=u'7179b9467f825a5bbb748ea6226b12137e23a19f', event=u'preferences-tags', targetEntityId=u'angriff'),
Row(entityId=u'7179b9467f825a5bbb748ea6226b12137e23a19f', event=u'preferences-tags', targetEntityId=u'schiff'),
Row(entityId=u'7179b9467f825a5bbb748ea6226b12137e23a19f', event=u'preferences-communityId', targetEntityId=u', ... ]
,我想其中的一個字段對其進行過濾,例如在event
= preferences-tags
,使用如下的過濾功能:
PRIMARY_EVENT_NAME = 'preferences-tags'
rating = train_df.filter("event = '%s'" % (PRIMARY_EVENT_NAME))
但似乎它沒有正確地過濾他們,返回0,結果
rating.count()
# 0 is returned
我使用的過濾器功能,在我的代碼的其他部分相同的語法和邏輯,它只是與預期相符,什麼是錯的這裏?
'filter'需要的功能,所以我不明白爲什麼你認爲一個字符串會做任何事情 –
train_df是pyspark.sql.DataFrame和過濾器接受SQL表達式的字符串作爲參數 – Mattia
啊,我明白你現在要問什麼。如果您使用的是字符串,那麼您是否嘗試過'LIKE'或'=='而不是'='? –