Skip to content

Commit

Permalink
Merge pull request apache#109 from hlin09/hlin09
Browse files Browse the repository at this point in the history
[SPARKR-15] Rename the filter function to filterRDD to follow the API consistency.
  • Loading branch information
concretevitamin committed Nov 15, 2014
2 parents 4dca9b1 + bb779bf commit 08e24c3
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 34 deletions.
2 changes: 1 addition & 1 deletion pkg/NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ exportMethods(
"countByValue",
"distinct",
"Filter",
"filter",
"filterRDD",
"flatMap",
"flatMapValues",
"groupByKey",
Expand Down
39 changes: 18 additions & 21 deletions pkg/R/RDD.R
Original file line number Diff line number Diff line change
Expand Up @@ -600,39 +600,36 @@ setMethod("mapPartitionsWithIndex",
#' a predicate (i.e. returning TRUE in a given logical function).
#' The same as `filter()' in Spark.
#'
#' @param f A unary predicate function.
#' @param x The RDD to be filtered.
#' @rdname Filter
#' @param rdd The RDD to be filtered.
#' @param filterFunc A unary predicate function.
#' @rdname filterRDD
#' @export
#' @examples
#'\dontrun{
#' sc <- sparkR.init()
#' rdd <- parallelize(sc, 1:10)
#' unlist(collect(Filter(function (x) { x < 3 }, rdd))) # c(1, 2)
#' unlist(collect(filterRDD(rdd, function (x) { x < 3 }))) # c(1, 2)
#'}
#setGeneric("Filter", function(f, x) { standardGeneric("Filter") })

#' @rdname Filter
#' @aliases Filter,function,RDD-method filter,function,RDD-method
setMethod("Filter",
signature(f = "function", x = "RDD"),
function(f, x) {
setGeneric("filterRDD",
function(rdd, filterFunc) { standardGeneric("filterRDD") })

#' @rdname filterRDD
#' @aliases filterRDD,RDD,function-method
setMethod("filterRDD",
signature(rdd = "RDD", filterFunc = "function"),
function(rdd, filterFunc) {
filter.func <- function(part) {
Filter(f, part)
Filter(filterFunc, part)
}
lapplyPartition(x, filter.func)
lapplyPartition(rdd, filter.func)
})

#' @rdname Filter
#' @export
setGeneric("filter", function(f, x) { standardGeneric("filter") })

#' @rdname Filter
#' @aliases filter,function,RDD-method
setMethod("filter",
#' @rdname filterRDD
#' @aliases Filter,function,RDD-method
setMethod("Filter",
signature(f = "function", x = "RDD"),
function(f, x) {
Filter(f, x)
filterRDD(x, f)
})

#' Reduce across elements of an RDD.
Expand Down
6 changes: 3 additions & 3 deletions pkg/inst/tests/test_rdd.R
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ test_that("flatMap() on RDDs", {
expect_equal(actual, rep(intPairs, each=2))
})

test_that("Filter on RDD", {
filtered.rdd <- Filter(function(x) { x %% 2 == 0 }, rdd)
test_that("filterRDD on RDD", {
filtered.rdd <- filterRDD(rdd, function(x) { x %% 2 == 0 })
actual <- collect(filtered.rdd)
expect_equal(actual, list(2, 4, 6, 8, 10))

Expand All @@ -65,7 +65,7 @@ test_that("Filter on RDD", {
expect_equal(actual, list(list(1L, -1)))

# Filter out all elements.
filtered.rdd <- Filter(function(x) { x > 10 }, rdd)
filtered.rdd <- filterRDD(rdd, function(x) { x > 10 })
actual <- collect(filtered.rdd)
expect_equal(actual, list())
})
Expand Down
18 changes: 9 additions & 9 deletions pkg/man/Filter.Rd → pkg/man/filterRDD.Rd
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
\docType{methods}
\name{Filter,function,RDD-method}
\name{filterRDD}
\alias{Filter,function,RDD-method}
\alias{filter}
\alias{filter,function,RDD-method}
\alias{filterRDD}
\alias{filterRDD,RDD,function-method}
\title{This function returns a new RDD containing only the elements that satisfy
a predicate (i.e. returning TRUE in a given logical function).
The same as `filter()' in Spark.}
\usage{
\S4method{Filter}{`function`,RDD}(f, x)
filterRDD(rdd, filterFunc)
filter(f, x)
\S4method{filterRDD}{RDD,`function`}(rdd, filterFunc)
\S4method{filter}{`function`,RDD}(f, x)
\S4method{Filter}{`function`,RDD}(f, x)
}
\arguments{
\item{f}{A unary predicate function.}
\item{rdd}{The RDD to be filtered.}
\item{x}{The RDD to be filtered.}
\item{filterFunc}{A unary predicate function.}
}
\description{
This function returns a new RDD containing only the elements that satisfy
Expand All @@ -28,7 +28,7 @@ The same as `filter()' in Spark.
\dontrun{
sc <- sparkR.init()
rdd <- parallelize(sc, 1:10)
unlist(collect(Filter(function (x) { x < 3 }, rdd))) # c(1, 2)
unlist(collect(filterRDD(rdd, function (x) { x < 3 }))) # c(1, 2)
}
}

0 comments on commit 08e24c3

Please sign in to comment.