如何使用spark scala将HiveContext作为参数从一个函数传递到另一个函数

时间:2018-01-06 09:35:33

标签: scala hadoop apache-spark spark-dataframe hivecontext

我有一个sceneria,我需要将HiveContext作为参数传递给另一个函数。以下是我的代码以及我遇到问题的地方:

Object Sample {
    def main(args:Array[String]){
        val fileName = "SampleFile.txt"
        val conf = new SparkConf().setMaster("local").setAppName("LoadToHivePart")  
        conf.set("spark.ui.port","4041")
        val sc=new SparkContext(conf)
        val sqlContext = new org.apache.spark.sql.SQLContext(sc)  
        val hc = new org.apache.spark.sql.hive.HiveContext(sc) 
        hc.setConf("hive.metastore.uris","thrift://127.0.0.1:9083")
        test(hc,fileName)
        sc.stop()
    }
    def test(hc:String, fileName: String){
        //code.....
    }
}

根据上面的代码,我无法将HiveContext变量“hc”从main传递到另一个函数。还试过:

def test(hc:HiveContext, fileName:String){} 但是两者都显示错误。

1 个答案:

答案 0 :(得分:1)

def test(hc:HiveContext, fileName: String){
        //code.....
    }

注意: org.apache.spark.sql.hive.HiveContext

中提供了Hive上下文

所以使用import org.apache.spark.sql.hive.HiveContext

导入它