-2

我有一个场景,我需要将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){} 但两者都显示错误。

4

1 回答 1

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

注意: Hive 上下文可在org.apache.spark.sql.hive.HiveContext

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

于 2018-01-06T10:00:01.370 回答