pyspark.sql.functions.map_keys#
- pyspark.sql.functions.map_keys(col)[source]#
- Map function: Returns an unordered array containing the keys of the map. - New in version 2.3.0. - Changed in version 3.4.0: Supports Spark Connect. - Examples - Example 1: Extracting keys from a simple map - >>> from pyspark.sql import functions as sf >>> df = spark.sql("SELECT map(1, 'a', 2, 'b') as data") >>> df.select(sf.sort_array(sf.map_keys("data"))).show() +--------------------------------+ |sort_array(map_keys(data), true)| +--------------------------------+ | [1, 2]| +--------------------------------+ - Example 2: Extracting keys from a map with complex keys - >>> from pyspark.sql import functions as sf >>> df = spark.sql("SELECT map(array(1, 2), 'a', array(3, 4), 'b') as data") >>> df.select(sf.sort_array(sf.map_keys("data"))).show() +--------------------------------+ |sort_array(map_keys(data), true)| +--------------------------------+ | [[1, 2], [3, 4]]| +--------------------------------+ - Example 3: Extracting keys from a map with duplicate keys - >>> from pyspark.sql import functions as sf >>> originalmapKeyDedupPolicy = spark.conf.get("spark.sql.mapKeyDedupPolicy") >>> spark.conf.set("spark.sql.mapKeyDedupPolicy", "LAST_WIN") >>> df = spark.sql("SELECT map(1, 'a', 1, 'b') as data") >>> df.select(sf.map_keys("data")).show() +--------------+ |map_keys(data)| +--------------+ | [1]| +--------------+ >>> spark.conf.set("spark.sql.mapKeyDedupPolicy", originalmapKeyDedupPolicy) - Example 4: Extracting keys from an empty map - >>> from pyspark.sql import functions as sf >>> df = spark.sql("SELECT map() as data") >>> df.select(sf.map_keys("data")).show() +--------------+ |map_keys(data)| +--------------+ | []| +--------------+