Suppose I have got a list of key-value pairs:
kvs = [('x', 0), ('a', 1)] Now I'd like to create a Spark Row from kvs with the same order of keys as in kvs.
How to do it in Python ?
Suppose I have got a list of key-value pairs:
kvs = [('x', 0), ('a', 1)] Now I'd like to create a Spark Row from kvs with the same order of keys as in kvs.
How to do it in Python ?
I haven't run it yet but may you check once I will edit after running if fails.
from pyspark.sql import Row kvs = [('x', 0), ('a', 1)] h = {} [h.update({k:v}) for k,v in kvs] row = Row(**h) kvs,You can:
from pyspark.sql import Row Row(*[k for k, _ in kvs])(*[v for _, v in kvs]) but in my opinion it is better to avoid Row whatsoever. Other than being a convenient class to represent local values fetched from the JVM backend, it has no special meaning in Spark. In almost every context:
tuple(v for _, v in kvs) is perfectly valid replacement for Row.