spark with hive

hgs19921112發表於2018-11-21
//需要spark-hive project
package hgs.spark.hive
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.hadoop.hive.conf.HiveConfUtil
import org.apache.spark.sql.SparkSession
//注:需要將hive-site.xml放到當前工程的classpath下面
object SparkWithHive {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("hive").setMaster("local")
    val context = new SparkContext(conf)
    
    val builder = SparkSession.builder()
           .appName("hiveApp")
           .config("spark.sql.warehouse.dir","hdfs://bigdata00:9000/user/hive/warehouse/")
           .enableHiveSupport()
           .getOrCreate()
    import builder.implicits
    //test庫下面的test表 ssql.show()可以列印表的資訊
    val ssql =  builder.sql("select a.id,b.name,b.age+10 bigage from test.test a,test.test1 b where a.id = b.id")
    //這裡轉換為rdd進行操作,轉換為三元的tuple,  List((1,hgs,26), (2,wd,24), (3,zz,25), (4,cm,24))
    val list = ssql.rdd.map(x=>(x(0),x(1),x(2))).collect()
    println(list.toList)
    context.stop()
  }
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2221049/,如需轉載,請註明出處,否則將追究法律責任。

相關文章