Mon problème est basé sur la question similaire ici PySpark: Add a new column with a tuple created from columns, avec la différence que j'ai une liste de valeurs au lieu d'une valeur par colonne. Par exemple:Créer un tuple sur deux colonnes - PySpark
from pyspark.sql import Row
df = sqlContext.createDataFrame([Row(v1=[u'2.0', u'1.0', u'9.0'], v2=[u'9.0', u'7.0', u'2.0']),Row(v1=[u'4.0', u'8.0', u'9.0'], v2=[u'1.0', u'1.0', u'2.0'])])
+---------------+---------------+
| v1| v2|
+---------------+---------------+
|[2.0, 1.0, 9.0]|[9.0, 7.0, 2.0]|
|[2.0, 1.0, 9.0]|[9.0, 7.0, 2.0]|
+---------------+---------------+
Ce que je suis en train de faire quelque chose de similaire comme zip élément par élément pour les listes par ligne, mais je ne peux pas comprendre ce dans pyspark 1.6:
+---------------+---------------+--------------------+
| v1| v2| v_tuple|
+---------------+---------------+--------------------+
|[2.0, 1.0, 9.0]|[9.0, 7.0, 2.0]|[(2.0,9.0), (1.0,...|
|[4.0, 8.0, 9.0]|[1.0, 1.0, 2.0]|[(4.0,1.0), (8.0,...|
+---------------+---------------+--------------------+
Note: la taille des tableaux peut varier d'une rangée à l'autre, mais c'est toujours la même chose pour la même rangée dans le sens des colonnes.