“Seq” will be implicitly converted to “DataFrameHolder”, and “toDF” method is
defined in “DataFrameHolder”. And there is no such method for Array. So user
has to convert explicitly by himself.
implicit def localSeqToDataFrameHolder[A <: Product : TypeTag](data: Seq[A]):
DataFrameHolder =
{
DataFrameHolder(_sqlContext.createDataFrame(data))
}
Thanks,
William
From: Ashok Kumar [mailto:[email protected]]
Sent: Wednesday, March 2, 2016 5:06 AM
To: Shixiong(Ryan) Zhu
Cc: Jeff Zhang; User
Subject: Re: Converting array to DF
Thanks great
val weights = Array(("a", 3), ("b", 2), ("c", 5), ("d", 1), ("e", 9), ("f", 4),
("g", 6))
weights.toSeq.toDF("weights","value").orderBy(desc("value")).collect.foreach(println)
On Tuesday, 1 March 2016, 20:52, Shixiong(Ryan) Zhu
<[email protected]<mailto:[email protected]>> wrote:
For Array, you need to all `toSeq` at first. Scala can convert Array to
ArrayOps automatically. However, it's not a `Seq` and you need to call `toSeq`
explicitly.
On Tue, Mar 1, 2016 at 1:02 AM, Ashok Kumar
<[email protected]<mailto:[email protected]>> wrote:
Thank you sir
This works OK
import sqlContext.implicits._
val weights = Seq(("a", 3), ("b", 2), ("c", 5), ("d", 1), ("e", 9), ("f", 4),
("g", 6))
weights.toDF("weights","value").orderBy(desc("value")).collect.foreach(println)
Please why Array did not work?
On Tuesday, 1 March 2016, 8:51, Jeff Zhang
<[email protected]<mailto:[email protected]>> wrote:
Change Array to Seq and import sqlContext.implicits._
On Tue, Mar 1, 2016 at 4:38 PM, Ashok Kumar
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I have this
val weights = Array(("a", 3), ("b", 2), ("c", 5), ("d", 1), ("e", 9), ("f", 4),
("g", 6))
weights.toDF("weights","value")
I want to convert the Array to DF but I get thisor
weights: Array[(String, Int)] = Array((a,3), (b,2), (c,5), (d,1), (e,9), (f,4),
(g,6))
<console>:33: error: value toDF is not a member of Array[(String, Int)]
weights.toDF("weights","value")
I want to label columns and print out the contents in value order please I
don't know why I am getting this error
Thanks
--
Best Regards
Jeff Zhang