/ / Які переваги SpecificMutableRow в Spark SQL? - scala, jvm, apache-spark, apache-spark-sql

Які переваги SpecificMutableRow у Spark SQL? - scala, jvm, apache-spark, apache-spark-sql

З коментарів здається:

Батьківський клас для змінних об'єктів контейнерів, які повторно використовуються при зміні значень, в результаті менше сміття.

і

Тип рядка, який містить спеціалізований масивоб'єкти контейнера типу MutableValue, обрані на основі даних типів кожного стовпця. Наміром є зменшення сміття при зміні значення примітивних стовпців.

Джерело - https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SpecificMutableRow.scala

Хтось може пояснити, наскільки це ефективно? Це лише той факт, що він уникає боксу достатньо?

Відповіді:

2 для відповіді № 1

Це дозволяє уникнути боксу в місцях зберігання, але це, в основному, корисно в поєднанні з іншим специфічним інтерфейсом (тобто зчитуванням паркету або оцінкою вираження, сформованим кодом).

Інша перевага полягає в тому, що він повторно використовується (на відміну від загального ряду). Таким чином, для багатьох операцій він може працювати з низкою даних, не виділяючи жодних об'єктів.