gpt4 book ai didi

scala - 如何使用相同的案例类创建多个数据框

转载 作者:可可西里 更新时间:2023-11-01 15:08:26 24 4
gpt4 key购买 nike

如何使用相同的案例类创建多个数据框?假设我想创建多个数据框,一个有 5 列,另一个有 3 列,我将如何使用单个案例类来实现?

最佳答案

您不能直接使用具有相同列数的单个案例类创建两个 Dataframe。假设您有以下案例类 FlightData。如果您从这个案例类创建了一个 Dataframe,它将包含 3 列。但是,您可以创建两个 Dataframe,但在下一个 Dataframe 中,您可以从此案例类中选择一些列。如果您有两个不同的文件并且每个文件包含不同的结构,您需要创建两个单独的案例类。

   val someData = Seq(
Row("United States", "Romania", 15),
Row("United States", "Croatia", 1),
Row("United States", "Ireland", 344),
Row("Egypt", "United States", 15)
)


val flightDataSchema = List(
StructField("DEST_COUNTRY_NAME", StringType, true),
StructField("ORIGIN_COUNTRY_NAME", StringType, true),
StructField("count", IntegerType, true)
)

case class FlightData(DEST_COUNTRY_NAME: String, ORIGIN_COUNTRY_NAME: String, count: Int)
import spark.implicits._

val dataDS = spark.createDataFrame(
spark.sparkContext.parallelize(someData),
StructType(flightDataSchema)
).as[FlightData]

val dataDS_2 = spark.createDataFrame(
spark.sparkContext.parallelize(someData),
StructType(flightDataSchema)
).as[FlightData].select('DEST_COUNTRY_NAME)

关于scala - 如何使用相同的案例类创建多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56123915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com