У меня есть файл данных csv, который я могу загрузить в pyspark:
spark = SparkSession.builder.master("local").appName("MYAPP").getOrCreate()```
df = spark.read.csv( path = csvfilepath, sep="|", schema=my_schema, nullValue="NULL", mode="DROPMALFORMED")```
Проверка количества строк в фрейме данных дает примерно 20 миллионов строк.
df.count()
I повторно сохраняю мой фрейм данных в паркете:
df.write.mode("overwrite").parquet( parquetfilepath )
Затем я загружаю данные паркета:
df = spark.read.parquet( parquetfilepath )
Теперь, когда я считаю строки (df.count()
), я получаю только 3 миллиона ряды.
Почему я потерял 85% строк и как решить эту проблему? Я также пытался использовать «повторное разбиение» и «объединение» при создании данных паркета с тем же результатом.