java - 不在 Spark sql java 中的函数中

标签 java apache-spark-sql

java Spark sql 中是否有“不在”和“不喜欢”函数,我必须转换以下查询

CASE WHEN COL_1 = 'Y' AND COL_2 NOT IN ('A','B','C','D') AND COL_2 NOT Like 
    'NRV%' then 1 else 0

org.apache.spark.sql.functions支持isinlike函数,is not in怎么写并且不喜欢使用java

functions.when(functions.col("COL_1").equalTo("Y")
.and(functions.col("COL_2").isin("A","B","C","D"))
.and(functions.col("COL_2").like("NRV%")), 1).otherwise(0)

最佳答案

您可以尝试组合使用 notisin :

functions.when(functions.col("COL_1").equalTo("Y")
.and(functions.not(functions.col("COL_2").isin("A","B","C","D")))
.and(functions.not(functions.col("COL_2").like("NRV%"))), 1).otherwise(0)

关于java - 不在 Spark sql java 中的函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52774039/

相关文章:

java - 如何估计第n个元素的斐波那契递归算法的时间?

java - 使用 Java 从 URL 截断域

scala - 如何更改 StructType 的 StructField 中列的数据类型?

python - pyspark Window.partitionBy 与 groupBy

PySpark 如何根据行值创建列

java - 从父类对象设置所有子类变量

java - 在 Selenium xpath 定位器中转义美元符号

java - 计算百分比 "x/y * 100"总是得到 0?

apache-spark - Hadoop Spark-存储在一个大文件中,而不是存储许多小文件和索引

scala - 如何在 Spark/Scala 中使用爆炸