#apache-spark #pyspark
#apache-искра #пыспарк
Вопрос:
У меня есть CSV-файл со следующим содержимым
"","b","c" "","""b","""c" ""," b","c"
который я прочитал со следующим кодом:
path = 'xyz.csv' df = ( spark.read .format('csv') .option('multiline', True) .option('escape', '"') .load(path) )
Выполнение df.head(5)
приводит к ожидаемому результату:
[Row(_c0=None, _c1='b', _c2='c'), Row(_c0=None, _c1='"b', _c2='"c'), Row(_c0=None, _c1='nb', _c2='c')]
Однако:
df.unpersist() print(df.count()) # Output: 4 df.cache() print(df.count()) # Output: 3
Почему count
функция выдает неверный результат, когда фрейм данных не загружается в память?