在斯卡拉创建数据帧

问题描述:

wordsDF = sqlContext.createDataFrame([('cat',), ('elephant',), ('rat',), ('rat',), ('cat',)], ['word']) 

这是一种从python中的元组列表创建数据框的方法。我怎样才能在scala中做到这一点?我是新来的斯卡拉,我正在解决它的问题。在斯卡拉创建数据帧

任何帮助将不胜感激!

+0

可能的复制[转换的RDD到数据帧中使用Scala的星火(HTTP://计算器。 COM /问题/ 33023330 /转换-AN-RDD至A-数据帧中的火花 - 使用 - 斯卡拉) –

一个简单的方法,

val df = sc.parallelize(List((1,"a"), (2,"b"))).toDF("key","value") 

df.show

+---+-----+ 
|key|value| 
+---+-----+ 
| 1| a| 
| 2| b| 
+---+-----+ 

参考样例在Programmatically Specifying the SchemacreateDataFrame构建DataFrame

要创建数据框,您需要创建SQLContext。

val sc: SparkContext // An existing SparkContext. 
val sqlContext = new org.apache.spark.sql.SQLContext(sc) 

// this is used to implicitly convert an RDD to a DataFrame , after importing it you can use .toDF method 
import sqlContext.implicits._ 

现在你可以创建dataframes

val df1 = sc.makeRDD(1 to 5).map(i => (i, i * 2)).toDF("single", "double") 

了解更多关于创建dataframes的here