[SPARK-2871] [PySpark] Add missing API

Try to bring all Java/Scala API to PySpark.
Does this really work? The Java version of this RDD will be batched, and it will contain byte arrays that may not be comparable directly with the algorithm in countApproxDistinct. Please add some tests for this.