code: def countDistinct(col, *cols):
      
      sc = SparkContext._active_spark_context
      jc = sc._jvm.functions.countDistinct(_to_java_column(col), _to_seq(sc, cols, _to_java_column))
      return Column(jc)
docs: Returns a new :class:`Column` for distinct count of ``col`` or ``cols``.
  
      >>> df.agg(countDistinct(df.age, df.name).alias('c')).collect()
      [Row(c=2)]
  
      >>> df.agg(countDistinct("age", "name").alias('c')).collect()
      [Row(c=2)]