   [rdd f]
   (.filter rdd (function (ftruthy? f))))
 
+(defn union
+  "Union `rdd` and `other`. duplicate keys are kept."
+  [context rdd & rdds]
+  (.union rdd other))
+
 (defn foreach
   "Applies the function `f` to all elements of `rdd`."
   [rdd f]

  [rdd storage-level]
  (.persist rdd storage-level))

(def first
  "Returns the first element of `rdd`."
  (memfn first))

  using a given associative function and a neutral 'zero value'"
  [rdd zero-value f]
  (.fold rdd zero-value (function2 f)))

(defn subtract
  "returns an `rdd` with elements from `other` removed."
  [rdd other]
  (.subtract rdd other))

(defn reduce-by-key
  "When called on an `rdd` of (K, V) pairs, returns an RDD of (K, V) pairs
