Vit*_*mud 12 java scala apache-spark apache-spark-sql
我有以下代码(Java与Spark SQL) -
import static org.apache.spark.sql.functions.col;
...
System.out.println("=== Filtering records with average age more than 20 ===");
Dataset<Row> result = df.filter(col("age").$less(20));
Run Code Online (Sandbox Code Playgroud)
我从来没有遇到过以美元开头的Java函数调用.尝试谷歌搜索它,但我到目前为止最好的猜测是,它是Java调用Scala代码的结果(但在Scala源代码中没有$ less函数)
能否为此提供一个可靠的解释?
因为 Scala\xe2\x80\x99s 方法语法中每个允许的符号都有一个相应的翻译,形式为 \xe2\x80\x9c$trans\xe2\x80\x9c。所以对于你的问题,scala中有一个方法被调用<,java中相应的方法将是$less
其他运算符将被编译为:
\n\n\xe2\x95\x94\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa6\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x97\n\xe2\x95\x91 Scala Operator \xe2\x95\x91 Compiles To \xe2\x95\x91\n\xe2\x95\xa0\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xac\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa3\n\xe2\x95\x91= \xe2\x95\x91$eq \xe2\x95\x91\n\xe2\x95\x91> \xe2\x95\x91$greater \xe2\x95\x91\n\xe2\x95\x91< \xe2\x95\x91$less \xe2\x95\x91\n\xe2\x95\x91+ \xe2\x95\x91$plus \xe2\x95\x91\n\xe2\x95\x91- \xe2\x95\x91$minus \xe2\x95\x91\n\xe2\x95\x91* \xe2\x95\x91$times \xe2\x95\x91\n\xe2\x95\x91/ \xe2\x95\x91$div \xe2\x95\x91\n\xe2\x95\x91! \xe2\x95\x91$bang \xe2\x95\x91\n\xe2\x95\x91@ \xe2\x95\x91$at \xe2\x95\x91\n\xe2\x95\x91# \xe2\x95\x91$hash \xe2\x95\x91\n\xe2\x95\x91% \xe2\x95\x91$percent \xe2\x95\x91\n\xe2\x95\x91^ \xe2\x95\x91$up \xe2\x95\x91\n\xe2\x95\x91& \xe2\x95\x91$amp \xe2\x95\x91\n\xe2\x95\x91~ \xe2\x95\x91$tilde \xe2\x95\x91\n\xe2\x95\x91? \xe2\x95\x91$qmark \xe2\x95\x91\n\xe2\x95\x91\xe2\x95\x91 \xe2\x95\x91$bar \xe2\x95\x91\n\xe2\x95\x91\\ \xe2\x95\x91$bslash \xe2\x95\x91\n\xe2\x95\x91: \xe2\x95\x91$colon \xe2\x95\x91\n\xe2\x95\x9a\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa9\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x9d\nRun Code Online (Sandbox Code Playgroud)\n\n有关此的更多信息可以在这里找到:\n http://www.codecommit.com/blog/java/interop- Between-java-and-scala
\n| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |