我正在创建一个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不给我一个来自dataframe的hivecontext,它只提供sqlcontext。
发布于 2017-05-08 17:11:26
如果使用HiveCOntext,则df.sqlContext的运行时类型为HiveContext (HiveContext是SQLContext的子类型),因此您可以执行以下操作:
val hiveContext = df.sqlContext.asInstanceOf[HiveContext]https://stackoverflow.com/questions/43839201
复制相似问题