当前位置: 首页 > 工具软件 > SqlContext > 使用案例 >

SQLContext与HiveContext的使用

阎庆
2023-12-01

版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~
https://blog.csdn.net/xiaoduan_/article/details/79730428

SQLContext与HiveContext的使用

SQLContext的使用

SQLContext在Spark1.6中使用,在spark2.x中已经标记为过时,不推荐使用。

示例代码
package com.anthony.spark
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}

/**
  * @Description: SQLContext的使用
  * @Date: Created in 07:09 2018/3/28
  * @Author: Anthony_Duan
  */

object SQLContextApp {

  def main(args: Array[String]): Unit = {

    val path = args(0)

    //1)创建相应的Context
    val sparkConf = new SparkConf()

//    在生产上通过脚本的方式指定
//    sparkConf.setAppName("SQLContextApp").setMaster("local[2]")

    val sc = new SparkContext(sparkConf)
    val sqlContext = new SQLContext(sc)

    //2)相关处理:json
    val people = sqlContext.read.format("json").load(path)
    people.printSchema()
    people.show()

    //3)关闭资源
    sc.stop()
  }
}
提交

这里我使用一个shell文件作为示例
1. vim HiveContext.sh
2. chmod +x HiveContext
3. 写入内容如下

spark-submit \
--name SQLContextApp \
--class com.anthony.spark.SQLContextApp \
--master local[2] \
/Users/duanjiaxing/lib/sql-1.0.jar \
/Users/duanjiaxing/data/test.json

HiveContext的使用

HiveContext也是已经过时的不推荐使用。

相关配置

如果想要用spark访问hive的表需要进行一下的配置
1. 拷贝 ${HIVE_HOME}/conf/hive-site.xml${SPARK_HOME}/conf
2. 在pom.xml文件中添加一下依赖

     <!--添加hive依赖-->
       <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.11</artifactId>
            <version>${spark.version}</version>
        </dependency>
示例代码
package com.anthony.spark
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.hive.HiveContext

/**
  * @Description:
  * @Date: Created in 07:58 2018/3/28
  * @Author: Anthony_Duan
  */
object HiveContextApp {

  def main(args: Array[String]): Unit = {

    //1)创建相应的Context
    val sparkConf = new SparkConf()

    //    在生产上通过脚本的方式指定
    //    sparkConf.setAppName("SQLContextApp").setMaster("local[2]")

    val sc = new SparkContext(sparkConf)
    val hiveContext = new HiveContext(sc)

    //2)相关处理:hiveTable
    hiveContext.table("emp").show()

    //3)关闭资源
    sc.stop()
  }
}
提交注意事项

使用mvn clean package -DskipTests 编译后会有一个jar包
然后将jar提交到spark上执行的时候需要指定mysql的连接驱动 通过–jars指定mysql驱动的绝对路径
这里我使用一个shell文件作为示例
1. vim HiveContext.sh
2. chmod +x HiveContext
3. 写入内容如下

spark-submit \
--class com.anthony.spark.HiveContextApp \
--master local[2] \
--jars /Users/duanjiaxing/software/mysql-connector-java-5.1.27-bin.jar \
/Users/duanjiaxing/lib/sql-1.0.jar
 类似资料: