gpt4 book ai didi

scala - 将 Dataframe 中的 spark 模式与类型 T 进行比较

转载 作者:行者123 更新时间:2023-12-04 19:35:20 25 4
gpt4 key购买 nike

我试图在编写 Spark Dataframe 时添加一些运行时类型检查,基本上我想确保 DataFrame 模式与类型 T 兼容,兼容并不意味着它必须完全相同。这是我的代码

def save[T: Encoder](dataframe: DataFrame, url: String): Unit = {
val encoder = implicitly[Encoder[T]]
assert(dataframe.schema == encoder.schema, s"Unable to save schemas don't match")

dataframe.write.parquet(url)
}

目前我正在检查模式是否相等,我如何检查它们是否与类型 T 兼容?

compatible 我的意思是如果我执行 dataframe.as[T] 它会工作(但我不想执行它,因为它非常昂贵)

最佳答案

创建一个具有相同模式的空数据框并在其上调用 .as[T]。如果它有效,模式应该是兼容的!

关于scala - 将 Dataframe 中的 spark 模式与类型 T 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46939499/

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