首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用clojure和flambo过滤RDDs

使用clojure和flambo过滤RDDs
EN

Stack Overflow用户
提问于 2015-08-03 20:43:34
回答 1查看 99关注 0票数 0

我有一个包含表单索引的RDD:(:rdd xctx)

代码语言:javascript
复制
[[["1" "32" "44" "55" "14"] 0] [["21" "23" "24" "25" "24"] 1] [["41" "53" "54" "5" "24"] 2] [["11" "35" "34" "15" "64"] 3]]

我想过滤掉在向量中包含索引的RDDs,例如:

代码语言:javascript
复制
:row-list s[1 3] 

我试过了,但不知怎的,我犯了个错误:

代码语言:javascript
复制
(defn remove-index-rows
 "Function to catch the row(s) with the specific Row Number(s) in rows-list
  input = { :rows-list [ val(s)]}"
  [row input]
  (let [{:keys [ rows-list ]} input
    row-and-index (f/collect (f/filter #(= row (get % 0)) (:rdd xctx)))]
    (when-not (some #(= (get row-and-index 1) %) rows-list) row)))

期望的产出是:

代码语言:javascript
复制
 [ [["1" "32" "44" "55" "14"] 0] [["41" "53" "54" "5" "24"] 2] ]

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 11:41:27

对于星星,我会用set替换行列表。让我们将其定义如下

代码语言:javascript
复制
(set row-list)

在此之后,您可以像这样进行过滤:

代码语言:javascript
复制
(f/filter
 (:rdd xctx)
 (f/fn [row] (let [[v i] row] (not (contains? row-set i)))))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31796437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档