在Scala dataframe中获取列的数据类型可以使用dtypes
方法。该方法返回一个包含列名和数据类型的元组数组。每个元组包含两个元素,第一个元素是列名,第二个元素是数据类型。
以下是获取列数据类型的示例代码:
import org.apache.spark.sql.{SparkSession, DataFrame}
val spark = SparkSession.builder()
.appName("Get column data types")
.master("local")
.getOrCreate()
val data = Seq(
(1, "John", 25),
(2, "Jane", 30),
(3, "Bob", 35)
)
val df: DataFrame = spark.createDataFrame(data).toDF("id", "name", "age")
val columnTypes = df.dtypes
columnTypes.foreach { case (columnName, dataType) =>
println(s"Column $columnName has data type $dataType")
}
输出结果为:
Column id has data type IntegerType
Column name has data type StringType
Column age has data type IntegerType
在这个例子中,我们首先创建了一个SparkSession对象,然后使用createDataFrame
方法创建了一个DataFrame对象。接下来,我们使用toDF
方法为每列指定了列名。最后,我们使用dtypes
方法获取了列的数据类型,并通过遍历输出了每列的名称和数据类型。
推荐的腾讯云相关产品:腾讯云分析型数据库 TDSQL、腾讯云数据仓库 ClickHouse、腾讯云弹性MapReduce TEMR。
腾讯云产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云