Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何截断数据帧列中字符串的长度?_Scala_Apache Spark Sql - Fatal编程技术网

Scala 如何截断数据帧列中字符串的长度?

Scala 如何截断数据帧列中字符串的长度?,scala,apache-spark-sql,Scala,Apache Spark Sql,我有一个DataFrame,其中包含带有文本的列,我想将列中的文本截断到一定的长度。我尝试了以下操作: val updatedDataFrame = dataFrame.withColumn("NewColumn", col("ExistingColumn").take(15)) 我得到以下错误,因为我转换了列,而不是其内容: 笔记本:7:错误:取值不是的成员 org.apache.spark.sql.Column .withColumn(“NewColumn”),col(“ExistingC

我有一个
DataFrame
,其中包含带有文本的列,我想将
列中的文本截断到一定的长度。我尝试了以下操作:

val updatedDataFrame = dataFrame.withColumn("NewColumn", col("ExistingColumn").take(15))
我得到以下错误,因为我转换了
,而不是其内容:

笔记本:7:错误:取值不是的成员 org.apache.spark.sql.Column .withColumn(“NewColumn”),col(“ExistingColumn”)。取(15))

使用方法,如下所示:

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|
// +---+------+------+