scala - Spark:Scala 等价于 Java df.filter()
问题描述
我想知道 Scala 中与 Spark Java 函数等效的是什么filter
:
DataFrame df = sqlContext.read().parquet(xxx);
String filter = "SomeFilter";
df.filter(filter);
通常filter
应该在 Scala 中将函数作为输入,为什么它string
在 Java 中使用?
解决方案
这是相同的模语法:
val df = sqlContext.read().parquet(xxx)
val filter = "SomeFilter"
df.filter(filter)
使用def filter(conditionExpr: String): Dataset[T]
. 请注意,Dataframe
Scala Spark API 中的a只是一个Dataset[Row]
.
还有一个带有 a的重载Column
和一个@Experimental
带有函数的重载。
通常 filter 应该将函数作为 Scala 中的输入,为什么它在 Java 中使用字符串?
filter
只是一个方法名,它可以接受它定义的任何参数。这里的字符串(或 a Column
)表示 SQL 布尔条件。
推荐阅读
- javascript - 如何在 Kendo UI jQuery 中获取下拉列表的选定文本?
- json - 如何从文本中获取摘录
- graphql - 在一个请求中接受多级对象数组的 GraphQL 突变
- jenkins - 我在哪里可以找到 Jenkins 服务器上的“托管文件”物理文件?
- flask - Dash-Plotly null 不是对象(评估“figure.data”)
- python - 如何修复 .index() 方法返回错误值?
- ios - 钥匙串没有在 iOS 上触发
- google-analytics - 电子商务数据未从谷歌标签管理器传递到分析
- r - 如何在水平条形图中的条形右侧添加计数标签?
- nativescript - Nativescript 安装程序不会安装在 4.1.2 以上