我有一个包含Array [Byte]的Spark Dataframe。我可以使用isin
与我的Array[Byte]
匹配数据吗?如果我试着像这样使用它:
clientIp.isin((whitelist:_*))
它不匹配,因为whitelist:_*
没有正确地将字节数组格式化为IN(...)
。知道如何解决这个问题吗?
答案 0 :(得分:2)
您可以将Array[Byte]
转换为Java String
,如果您的白名单isin(whitelist:_*)
List<String>
匹配
根据文档,isin
方法接受java.lang.object或Seq(java.lang.object)
答案 1 :(得分:2)
根据scala docs,isin方法需要varags而不是Seq [String]。在您的情况下,如果将数据转换为Seq [String],则可以执行以下操作:
df.filter(column_name.isin(seqOfString: _*))