Я проверяю код разработки и мне нужно избегать или использовать другой способ добавления столбцов с использованием функции 'withColumn' в кадре данных; но у меня есть следующие сомнения:
- Используя вложенные 'withColumn', создавать новые таблицы (как показано ниже)? используя 6 'withColumn', создать 6 новых таблиц в памяти?
newDataframe = table
.withColumn("name", col("consolidate").cast(DecimalType(17,2)))
.withColumn("name", col("consolidate").cast(DecimalType(17,2)))
Если использование множества withColumn увеличивает использование памяти и снижает производительность (если true), как я могу избежать использования withColumn при добавлении столбцов в фрейм данных и получении того же результата?
Есть ли способ, который потребляет меньше памяти и быстрее запускается без использования withColumn, но с тем же результатом? То есть кадр данных с 6 добавленными столбцами
Я не знаю, как это сделать.
Код для оптимизации выглядит так:
def myMethod(table: DataFrame): DataFrame = {
newDataframe = table
.withColumn("name", col("consolidate").cast(DecimalType(17,2)))
.withColumn("id_value", col("east").cast(DecimalType(17,2)))
.withColumn("x_value", col("daily").cast(DecimalType(17,2)))
.withColumn("amount", col("paid").cast(DecimalType(17,2)))
.withColumn("client", col("lima").cast(DecimalType(17,2)))
.withColumn("capital", col("econo").cast(DecimalType(17,2)))
newDataframe
}