PySpark 2.0 Размер или форма DataFrame

Я пытаюсь выяснить размер/форму DataFrame в PySpark. Я не вижу ни одной функции, которая может это сделать.

В Python я могу сделать

data.shape()

Есть ли аналогичная функция в PySpark. Это мое текущее решение, но я ищу элемент один

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

Вычисление числа столбцов не является идеальным...

Ответы

Ответ 1

print((df.count(), len(df.columns)))

Ответ 2

df.count() для количества строк

Ответ 3

Я думаю, что в Spark нет такой функции, как data.shape. Но я буду использовать len(data.columns) а не len(data.dtypes)

Ответ 4

Добавьте это к вашему коду:

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

Тогда вы можете сделать

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

Но просто напомним, что .count() может быть очень медленным для очень больших наборов данных.