【问题标题】:Spark Datasets - strong typingSpark 数据集 - 强类型
【发布时间】:2017-03-23 06:16:42
【问题描述】:

关于 Spark 数据集,什么是强类型 API 和无类型 API?

Datasets 与 DataFrames 有何相似/不同之处?

【问题讨论】:

标签: apache-spark dataset apache-spark-dataset


【解决方案1】:

Dataframe API 是无类型 API,因为只有在运行时才能知道类型。而数据集 API 是类型化 API,其类型将在编译时已知。

df.select("device").where("signal > 10")      // using untyped APIs   
ds.filter(_.signal > 10).map(_.device)         // using typed APIs

【讨论】:

  • 完美的例子@vignesh-i
  • 如果我错了,请纠正我,但这不是动态类型和静态类型之间的区别吗?强类型意味着您不能对任何类型执行任何操作。例如,您不能将布尔值转换为 int 或添加布尔值和字符串。这是一个解释我在想什么的链接:stackoverflow.com/questions/2690544/…)
  • 公平地说,没有人真正对强类型和静态类型有一个标准的定义,看起来它已经争论了很长时间:D
猜你喜欢
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 2023-03-10
  • 2013-02-16
  • 2011-01-22
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
相关资源
最近更新 更多