def predict(model: LRModel,query: Query): PredictedResult = {
val categorical_val = Array[String]("Type","Month","Dept","Size","IsHoliday")
val ordinary_val = Array[String]()
val sc = new SparkContext()
val sqlContext = new SQLContext(sc)
val query_seq = sc.parallelize(Seq(query))
val df = sqlContext.createDataFrame(query_seq).toDF("Type","Month","Dept","Size","IsHoliday")
val features = process_Data(df = df,categorical_val = categorical_val,ordinary_val = ordinary_val)
val label = model.linear.predict(Vectors.dense(features))
new PredictedResult(label) }
我正在尝试将Seq转换为DataFrame,但是我发现有很多使用SparkContext进行在线创建的方法。问题是我没有para SparkContext,所以我想问问是否还有其他创建DataFrame的方法。我是Scala和Spark的新手!
答案 0 :(得分:0)
SparkContext是Spark功能的主要入口点。 SparkContext表示与Spark集群的连接,可用于在该集群上创建RDD,累加器和广播变量。 DataFrame是组织为命名列的分布式数据集合。您可以在此处查看文档:{{3}}。
您可以按如下所示从Seq创建一个DataFrame:
import sqlContext.implicits._
val df = Seq(("A1", "B1", "C1", "D1", "E1"), ("A2", "B2", "C2", "D2", "E2")).toDF("Type","Month","Dept","Size","IsHoliday")