我有一个由col1和col2列聚合的源数据集。Col2值通过按位或运算进行聚合。我需要对Col2值应用过滤器,以选择位为8,4,2的记录
初始源原始数据
val SourceRawData = Seq(("Flag1", 2),
("Flag1", 4),("Flag1", 8), ("Flag2", 8), ("Flag2", 16),("Flag2", 32)
,("Flag3", 2),("Flag4", 32),
("Flag5", 2), ("Flag5", 8)).toDF("col1", "col2")
SourceRawData.show()
+-----+----+
| col1|col2|
+-----+----+
|Flag1| 2|
|Flag1| 4|
|Flag1| 8|
|Flag2| 8|
|Flag2| 16|
|Flag2| 32|
|Flag3| 2|
|Flag4| 32|
|Flag5| 2|
|Flag5| 8|
+-----+----+
将Col1值折叠为每Col1值一行后,基于“上面的SourceRawData”聚合源数据,这是其他团队和Col2值通过按位或运算聚合的结果。注意我这里提供的是输出,而不是实际的聚合逻辑
val AggregatedSourceData = Seq(("Flag1", 14L),
("Flag2", 56L),("Flag3", 2L), ("Flag4", 32L), ("Flag5", 10L)).toDF("col1", "col2")
AggregatedSourceData.show()
+-----+----+
| col1|col2|
+-----+----+
|Flag1| 14|
|Flag2| 56|
|Flag3| 2|
|Flag4| 32|
|Flag5| 10|
+-----+----+
现在,我需要对上面的聚合数据集应用过滤器,以根据原始源原始数据值获取col2值满足(8,4,2)col2位的行
expected output
+-----+----+
|Col1 |Col2|
+-----+----+
|Flag1|14 |
|Flag2|56 |
|Flag3|2 |
|Flag5|10 |
+-----+----+
我尝试了下面这样的html" target="_blank">方法,似乎得到了预期的输出,但无法理解它是如何工作的。这是正确的方法吗??如果是的话,它是如何工作的(我不太懂位运算,所以请寻求专家帮助了解)`
``
var myfilter:Long = 2 | 4| 8
AggregatedSourceData.filter($"col2".bitwiseAND(myfilter) =!= 0).show()
+-----+----+
| col1|col2|
+-----+----+
|Flag1| 14|
|Flag2| 56|
|Flag3| 2|
|Flag5| 10|
+-----+----+
我认为你不需要使用bitWiseAnd来过滤,相反,只需使用包含/in
“你想要的比特数的一组十进制表示”或==
到“你想要的比特数的十进制表示”
此外,如果你在没有Scala或spark的情况下尝试现有的计算,你会发现你理解错误的地方,例如,在这里使用:
https://www.rapidtables.com/calc/math/binary-calculator.html
你会发现你定义的过滤器“错误”<代码>18
您的数据集标志列每行
将只有一个值
,因此只需筛选标志列,其值位于您想要的数字集中。
$”标志==18
或
(18,2,20)包含$”标志
我想实现一个环中值滤波器 - 它所做的基本上是用它周围的圆形环中的像素的中值替换中心像素。我可以像这样制作一些半径的圆形面具 然后,我可以使用 scipy 的通用过滤器来获取值的中位数 上面的蒙版包含了圆圈内的像素。哪些像素应该位于圆周上对我来说似乎有点模糊(想想3*3,5*5,7*7内核中的圆)。有没有“响铃”功能我可以用OTS什么的? 为什么要这么做-试着使用本文的一部分http://page
你怎么能通过数据库,根据你的位置,在一个半径的距离内找到公司?
我对验证FIR滤波器感兴趣。我已经实现了一个移动平均FIR滤波器,并编写了几个刺激来验证。 第一个刺激是一个正弦波,我希望滤波器按原样通过。档案员有。第二个刺激,我只传递一个冲动,并期望协效出现在输出上。这是我实际看到的。 然而,我觉得有两个问题需要注意。首先,不能依赖于波形形状来判断滤波器是否工作。我必须有可量化的值,并使用它作为一个基础,以得出结论,如果过滤器是工作的。例如。信噪比... 以下
我有个问题。在常见的购物车网站有功能搜索产品与多个过滤器。例如,我正在搜索运动装备与一些过滤器,如: > 制造商 [x]耐克 阿迪达斯 茵宝 选项 尺寸 [x]s [x]M L [x]白色 黄色 红色 [x]蓝色 这是我的地图 部分测试数据 有了这个查询,一切都很好 但是,如果我在选项过滤器中添加更多的条件,我没有得到结果 我不知道我在映射或查询中是否错了,或者您能告诉我在这种情况下创建映射的最佳
我正在构建API。我在弹性搜索中有身份证,名字,价格。客户机为我提供输入json和要应用的过滤器。 输入1:下面用户正在筛选ID=1(整数)的记录 输入2:用户正在查询带有city=tokyo的记录 用于处理输入和查询到弹性搜索的Java代码 对于过滤器中接收的每个键,我都在检查输入值的数据类型。 我想支持所有的专栏。我想要一个通用的解决方案,而不检查输入数据类型。 输入3: 在不对每个字段及其数
我对和的用途有点困惑。 正如我从文档中理解的,拦截器在请求之间运行。另一方面,Filter在呈现视图之前运行,但在Controller呈现响应之后运行。 那么,拦截器中的和过滤器中的之间的区别在哪里呢?