Как я могу усечь длину строки в столбце DataFrame? - PullRequest
0 голосов
/ 28 марта 2019

У меня есть DataFrame, который содержит столбцы с текстом, и я хочу обрезать текст в Column до определенной длины.Я попытался выполнить следующую операцию:

val updatedDataFrame = dataFrame.withColumn("NewColumn", col("ExistingColumn").take(15))

Я получаю следующую ошибку, поскольку преобразовываю Column вместо его содержимого:

notebook: 7: error: value take isне является членом org.apache.spark.sql.Column .withColumn ("NewColumn", col ("ExistingColumn"). take (15))

1 Ответ

1 голос
/ 28 марта 2019

Используйте метод подстрока , как показано ниже:

import org.apache.spark.sql.functions._
import spark.implicits._

val df = Seq( (1, "abcdef"), (2, "uvwx") ).toDF("id", "value")

df.withColumn("value3", substring($"value", 1, 3)).show
// +---+------+------+
// | id| value|value3|
// +---+------+------+
// |  1|abcdef|   abc|
// |  2|  uvwx|   uvw|
// +---+------+------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...