Pyspark - странное поведение метода DataFrame.summary () со столбцами даты - PullRequest
0 голосов
/ 02 мая 2019

DataFrame.summary(), похоже, некорректно работает со столбцами даты.Например, следующий код

import pandas as pd
import pyspark.sql.functions as F
data = {"namecol": ["foo", "bar"], 
        "datecol": ["01-JAN-17", "02-MAY-19"],
        }

df = pd.DataFrame(data)

# (create the spark object)

df = spark.createDataFrame(df)
print(df.summary("count").collect()[0].asDict())

дает

{'summary': 'count', 'namecol': '2', 'datecol': '2'}

Однако, если я произнесу datecol с to_date(), тогда summary("count") не будет работать должным образом:

datecol = F.to_date(F.col("datecol"), "dd-MMM-yy")
df2 = df.withColumn("datecol",datecol)
print(df2.summary("count").collect()[0].asDict())

даст мне следующий вывод:

{'summary': 'count', 'namecol': '2'}

Это либо ошибка, либо я неправильно понимаю что-то фундаментальное в DataFrame.summary().В любом случае, похоже, что он не может найти счет для столбцов с типом даты.

Есть ли альтернатива использованию DataFrame.summary("count")?У меня довольно много столбцов в фрейме данных, и я ищу быстрый способ получить количество не null строк в каждом столбце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...