web-dev-qa-db-fra.com

PySpark 2.0 La taille ou la forme d'un DataFrame

J'essaie de connaître la taille/la forme d'un DataFrame dans PySpark. Je ne vois pas une seule fonction capable de le faire.

En Python, je peux faire

data.shape()

Existe-t-il une fonction similaire dans PySpark? Ceci est ma solution actuelle, mais je cherche un élément

row_number = data.count()
column_number = len(data.dtypes)

Le calcul du nombre de colonnes n'est pas idéal ...

31
Xi Liang
print((df.count(), len(df.columns)))
35
George Fisher

Utilisez df.count() pour obtenir le nombre de lignes. 

25
Learner

Ajoutez ceci à votre code:

def spark_shape(self):
    return (self.count(), len(self.columns))
pyspark.sql.dataframe.DataFrame.shape = spark_shape

Alors tu peux faire

>>> df.shape()
(10000, 10)

Mais rappelez-vous que .count() peut être très lent pour des jeux de données très volumineux.

1
Louis Yang

Je pense qu'il n'y a pas de fonction similaire à celle de data.shape dans Spark. Mais je vais utiliser len(data.columns) plutôt que len(data.dtypes)

1
Y.C.