java - 同时根据多个属性值过滤数据集?
问题描述
我有一个包含一系列属性、值字符串的数组,除了它的最后两个元素,如下所示:
constraint = ["ATT","ATTVAL","ATT","ATTVAL","ATT","ATTVAL",....,"NUMVALUE","NUMVALUE"]
我想同时根据所有这些过滤数据ATT
集ATTVAL
。对于一对夫妇ATT
,ATTVAL
(constraint = ["ATT","ATTVAL","NUMVALUE","NUMVALUE"]
)代码将是:
dataset.select(dataset.col("*")).filter(col(constraint.get(0)).equalTo(lit(constraint.get(1))));
但是如何为阵列中的所有夫妻ATT
做到这一点?ATTVAL
我正在考虑FilterFunction
在 JAVA 中实现这一点,我正在尝试类似以下内容:
for (int i = 1; i < constraints.size() - 2; i += 2)
dataset= dataset.filter(col(constraints.get(i-1)).isin(constraints.get(i)));
但不幸的是,它不会同时进行过滤。谢谢。
解决方案
推荐阅读
- c++ - 使用递归回溯的 C++ 数独求解器不起作用
- wordpress - .htaccess 301 带有查询字符串和特殊字符
- r - 如何用三个分类变量进行方差分析?
- batch-file - 使用模式命令调整大小命令提示符清除整个屏幕
- amazon-web-services - AWS Cognito 在首次登录时未提示 MFA
- reactjs - React Graphql Typescript 文件设置
- django - 在 django 模型中保存一个带有前缀和主键的字符字段列?
- c++ - 函数定义/实现的返回值范围内的私有是什么意思(c++)?
- python - DEAP:使突变概率取决于代数
- php - Craft - 动态添加电子邮件收件人错误