Исполнение Spark Parquet с колоннами MapType - PullRequest
0 голосов
/ 03 октября 2018

У меня есть датафрейм с более чем 400 столбцами.Большинство столбцов перекошены, т. Е. Значения большинства столбцов в строке в кадре данных в основном нулевые, за исключением нескольких столбцов (около 20)

Я планирую изменить эту структуру на

col1:Array[String]
col2:Array[String]
...
MapColumn: MapType {
key:String
value:Array[String] 
}

Мне интересно, есть ли известное влияние на производительность при использовании колонки MapType с паркетом в искре?

1 Ответ

0 голосов
/ 26 октября 2018

Я провел несколько экспериментов, чтобы проверить производительность.Я взял набор данных со 100 столбцами и миллионом записей.Я преобразовал набор данных в столбцы MapType

Size of Parquet format all columns: 81MB
Size of Parquet format columns converted to MapType where map values could be NULL: 496MB
Size of Parquet format columns converted to MapType where map values with NULL removed: 86MB 

Похоже, что нет существенной разницы, если вы можете удалить пустые значения.

...