首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark导入sqlContext.implicits._

Spark导入sqlContext.implicits._
EN

Stack Overflow用户
提问于 2015-09-08 09:19:38
回答 1查看 27.9K关注 0票数 14

我有一个创建火花上下文的main:

代码语言:javascript
复制
    val sc = new SparkContext(sparkConf)
    val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    import sqlContext.implicits._

然后创建dataframe,并对dataframe进行筛选和验证。

代码语言:javascript
复制
    val convertToHourly = udf((time: String) => time.substring(0, time.indexOf(':')) + ":00:00")

    val df = sqlContext.read.schema(struct).format("com.databricks.spark.csv").load(args(0))
    // record length cannot be < 2 
    .na.drop(3)
    // round to hours
    .withColumn("time",convertToHourly($"time"))

这个很好用。

但是,当我尝试将我的验证转移到另一个文件时,我会将数据发送到

代码语言:javascript
复制
function ValidateAndTransform(df: DataFrame) : DataFrame = {...}

这将获得Dataframe &验证和转换吗:似乎我需要

代码语言:javascript
复制
 import sqlContext.implicits._

为了避免错误:“value$不是StringContext的成员”,它发生在网上:.withColumn("time",StringContext)

但是要使用import sqlContext.implicits._,我还需要在新文件中定义的sqlContext,如下所示:

代码语言:javascript
复制
val sc = new SparkContext(sparkConf)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)

或将其发送到

代码语言:javascript
复制
function ValidateAndTransform(df: DataFrame) : DataFrame = {...}
function

我觉得我试图对两个文件进行的分离(主验证)没有正确地完成.

知道怎么设计这个吗?还是简单地将sqlContext发送到函数?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 15:30:05

您可以使用SQLContext的单个实例。您可以在spark repository中查看这个示例

代码语言:javascript
复制
/** Lazily instantiated singleton instance of SQLContext */
object SQLContextSingleton {

  @transient  private var instance: SQLContext = _

  def getInstance(sparkContext: SparkContext): SQLContext = {
    if (instance == null) {
      instance = new SQLContext(sparkContext)
    }
    instance
  }
}
...
//And wherever you want you can do
val sqlContext = SQLContextSingleton.getInstance(rdd.sparkContext)
import sqlContext.implicits._  
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32453886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档