Transformations (select, filter, join, groupBy) describe a new DataFrame without computing it, whereas actions (count, collect, show, write) trigger execution and return a result or write data. A collect brings everything back to the driver and should be limited to small results.
Example
df.filter('pays = "FR"').count()