【发布时间】:2017-12-28 00:04:42
【问题描述】:
我正在尝试转换以下 Scala 行(从字符串中提取数字并在 Scala shell 中使用):
val df2 = df.withColumn("only digits", regexp_replace(col("original"), "[^\\d]", ""))
到它的 Java 等效项,我在将 col("original") 返回的 org.apache.spark.sql.Column 转换为 String.replaceAll() 所需的字符串类型时遇到问题。
我尝试了以下方法,但无法编译(cast 仍然返回 Column)。
import org.apache.spark.sql.Column;
import static org.apache.spark.sql.functions.*;
Dataset<Row> df2 = df.withColumn("new", col("original").cast("string").replaceAll("[^\\d]", ""));
我还查看了 javadocs 列和上面导入的静态函数,但没有看到任何帮助。谢谢。
【问题讨论】:
-
什么是 Spark 版本?
标签: java apache-spark dataframe apache-spark-sql