首页 > 解决方案 > 如何更改 Spark SQL(在 java 中)DataFrame 中的列类型?

问题描述

我正在尝试使用 java 在 spark sql 中将列数据类型从 long 转换为 int,我在 scala 中看到了一些示例并进行了尝试,但是,它不是 wotking

df.withColumn("is_open",  toInt("is_open"));  

我需要在哪里改变。提前致谢

标签: javaapache-spark

解决方案


您可以使用cast功能。

scala> val df = spark.range(10)
df: org.apache.spark.sql.Dataset[Long] = [id: bigint]

scala> import org.apache.spark.sql.functions._
import org.apache.spark.sql.functions._

scala> df.withColumn("new_col", col("id").cast("string"))
res4: org.apache.spark.sql.DataFrame = [id: bigint, new_col: string]

推荐阅读