scala - 如果我不能使用 SparkContext,如何创建 DataFrame?

标签 scala apache-spark

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 的新手!

最佳答案

SparkContext 是 Spark 功能的主要入口点。 SparkContext 表示与 Spark 集群的连接,可用于在该集群上创建 RDD、累加器和广播变量。 DataFrame 是组织成命名列的分布式数据集合。您可以在此处查看文档:https://spark.apache.org/docs/1.6.1/sql-programming-guide.html .

您可以按如下所示从 Seq 创建 DataFrame:

import sqlContext.implicits._
val df = Seq(("A1", "B1", "C1", "D1", "E1"), ("A2", "B2", "C2", "D2", "E2")).toDF("Type","Month","Dept","Size","IsHoliday")

关于scala - 如果我不能使用 SparkContext,如何创建 DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997223/

相关文章:

scala - 使用 Scala 2.10 进行枚举和映射

apache-spark - 在独立模式下运行时,SparkUI 不显示选项卡(作业、阶段、存储、环境...)

apache-spark - 加载表时从 phoenix 过滤

scala - UnFlatten Dataframe 到特定结构

scala - Scala Play 中的状态是如何管理的! 2.0 网络套接字?

scala - 如何增加 UUID 加特林馈线

scala - Spark Dataframe 更改列值

arrays - 在 Scala 中创建和填充二维数组

java - 在JAVA中的apache Spark数据集中添加 header

apache-spark - Spark Dataframe groupBy 并将结果排序到列表中