title: PySpark: Get first Non-null value of each column in dataframe
body: <p>I'm dealing with different Spark <code>DataFrames</code>, which have lot of Null values in many columns. I want to get <strong>any one</strong> non-null value from each of the column to see if that value can be converted to datetime.</p>
  
  <p>I tried doing <code>df.na.drop().first()</code> in a hope that it'll drop all rows with any null value, and of the remaining <code>DataFrame</code>, I'll just get the first row with all non-null values. But many of the <code>DataFrames</code> have so many columns with lot of null values, that <code>df.na.drop()</code> returns empty <code>DataFrame</code>.</p>
  
  <p>I also tried finding if any columns has all <code>null</code> values, so that I could simply drop that columns before trying the above approach, but that still not solved the problem. Any idea how can I accomplish this in efficient way, as this code will be run many times on huge <code>DataFrames</code>?</p>