title: Clojure - No matching method found for select method in DataFrame when using Flambo
body: <p>I'm using <a href="https://github.com/yieldbot/flambo" rel="nofollow">Flambo</a> to work with Spark. I want to retrieve a <a href="http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.DataFrame" rel="nofollow">DataFrame</a> which contains given column names. I wrote a simple function as follows:</p>
  
  <pre><code>(defn make-dataset
    ([data-path column-names and-another]
      (let [data (sql/read-csv sql-context data-path)
        cols (map #(.col data %) column-names)]
        (.select data (Column. "C0")))))
  </code></pre>
  
  <p>I get the following exception when i execute it. </p>
  
  <blockquote>
    <p>IllegalArgumentException No matching method found: select for class org.apache.spark.sql.DataFrame  clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:80)</p>
  </blockquote>
  
  <p>What am i doing wrong? Why <code>col.</code> works whereas <code>select.</code> doesn't when both of them are available from the same Class?
  Please help me if i am wrong? </p>