   [rdd storage-level]
   (.persist rdd storage-level))
 
+(defn unpersist
+  [rdd]
+  (.unpersist rdd))
+
 (def first
   "Returns the first element of `rdd`."
   (memfn first))

  ([rdd]
   (.name rdd)))

(defn union
  "Build the union of two or more RDDs"
  [context rdd & rdds]
  (.union context rdd (ArrayList. rdds)))

(defn partitionwise-sampled-rdd [rdd sampler preserve-partitioning? seed]
  "Creates a PartitionwiseSampledRRD from existing RDD and a sampler object"
  (-> (PartitionwiseSampledRDD.

  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
