我正在尝试为 Spark SQL DataFrame 编写多值过滤器。
我有:
val df: DataFrame // my data
val field: String // The field of interest
val values: Array[Any] // The allowed possible values
Run Code Online (Sandbox Code Playgroud)
我正在尝试提出过滤器规范。
目前,我有:
val filter = values.map(value => df(field) === value)).reduce(_ || _)
Run Code Online (Sandbox Code Playgroud)
但这在我传递空值列表的情况下并不可靠。为了涵盖这种情况,我想:
val filter = values.map(value => df(field) === value)).fold(falseColumn)(_ || _)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何指定 falseColumn。
有谁知道怎么做?
有没有更好的方法来编写这个过滤器?(如果是这样,我仍然需要有关如何获得 falseColumn 的答案 - 我需要一个 trueColumn 作为单独的部分)。
我试图确保我从maven发布的测试jar具有正确的传递依赖关系。
例如,test-jar不会依赖非test-jar生成。
类似地,例如AAA发布了一个测试罐,而BBB包含了AAA的测试罐的测试作用域依赖性。在CCC的测试中,当我使用BBB的test-jar中的类,而使用AAA的test-jar中的类时,我在AAA的test-jar中的类上收到“找不到类”错误-即,BBB的测试的传递依赖项aren根本没有正确记录。
有什么办法可以依靠BBB的测试罐正确地引入传递依赖关系吗?
我在https://github.com/nkronenfeld/transitive-test-dependencies中有所有这些的示例代码
对于BBB的常规jar和AAA的test jar,在CCC / pom.xml中有两个已注释掉的依赖项,似乎都不需要它们。但是,CCC的测试目标不会没有任何一个。
unit-testing dependency-management maven transitive-dependency
我有以下代码:
-- defined externally in a module that compiles just fine
-- normal :: (RandomGen g, Random r, Floating r, Ord r) => r -> r -> g -> (r, g)
-- poisson :: (RandomGen g, Random r, Floating r, Ord r) => r -> g -> (Integer, g)
-- binomial :: (RandomGen g, Random r, Floating r, Ord r) => r -> g -> (Bool, g)
data Foobar = Foobar { n :: Double, p :: Integer, b :: …Run Code Online (Sandbox Code Playgroud)