code: def explode(col):
      
      sc = SparkContext._active_spark_context
      jc = sc._jvm.functions.explode(_to_java_column(col))
      return Column(jc)
docs: Returns a new row for each element in the given array or map.
      Uses the default column name `col` for elements in the array and
      `key` and `value` for elements in the map unless specified otherwise.
  
      >>> from pyspark.sql import Row
      >>> eDF = spark.createDataFrame([Row(a=1, intlist=[1,2,3], mapfield={"a": "b"})])
      >>> eDF.select(explode(eDF.intlist).alias("anInt")).collect()
      [Row(anInt=1), Row(anInt=2), Row(anInt=3)]
  
      >>> eDF.select(explode(eDF.mapfield).alias("key", "value")).show()
      +---+-----+
      |key|value|
      +---+-----+
      |  a|    b|
      +---+-----+