【问题标题】:Getting the hivecontext from a dataframe从数据框中获取 hivecontext
【发布时间】:2017-05-08 03:10:41
【问题描述】:

我正在创建一个 hivecontext 而不是 sqlcontext 来创建 adtaframe

val conf=new SparkConf().setMaster("yarn-cluster")
val context=new SparkContext(conf)
//val sqlContext=new SQLContext(context)
val hiveContext=new HiveContext(context)
val data=Seq(1,2,3,4,5,6,7,8,9,10).map(x=>(x.toLong,x+1,x+2.toDouble)).toDF("ts","value","label")
//outdta is a dataframe
data.registerTempTable("df")
//val hiveTest=hiveContext.sql("SELECT * from df where ts < percentile(BIGINT ts, 0.5)")
val ratio1=hiveContext.sql("SELECT percentile_approx(ts, array (0.5,0.7)) from df")

我需要从 ratio1 获取确切的配置单元上下文,而不是再次从数据帧中的 povidedsql 上下文创建 hivecontext,我不知道为什么 spark 不给我来自数据帧的 hivecontext,它只提供 sqlcontext。

【问题讨论】:

  • 你考虑过接受我的回答吗?

标签: apache-spark


【解决方案1】:

如果你使用HiveCOntext,那么df.sqlContext的运行时类型是HiveContextHiveContextSQLContext的子类型),因此你可以这样做:

val hiveContext = df.sqlContext.asInstanceOf[HiveContext]

【讨论】:

    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 2016-10-29
    • 2014-02-14
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2020-02-15
    相关资源
    最近更新 更多