• spark使用Hive表操作


    spark Hive表操作

    之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作。

    比如说一个修改表分区的操作

    一.使用HiveServer的方式

    val tblName = "hive_table"
    
    def dropPartitions(tblName: String): Unit = {
    
      val HIVE_SERVER = "jdbc:hive2://192.168.xx.xxx:10000"
    
      import java.sql.DriverManager
    
      Class.forName("org.apache.hive.jdbc.HiveDriver")
    
      val conn = DriverManager.getConnection(HIVE_SERVER, "xxx", "")
    
      val stmt = conn.createStatement()
    
      val addSQL = s"msck repair table $tblName"
      stmt.execute(addSQL)
    
      conn.close()
    }

    二.使用HiveContext的方式

    后来发现通过HiveContext可以实现同样的功能,却方便的多,也不用通过hiveServer,再也不怕hiveServer宕机啦~

    先创建一个HiveContext,当然hiveContext也是可以对Hive表进行查询操作的

    val sqlContext = new HiveContext(sc)
    

    同样功能的函数

    val tblName = "hive_table"
    
    def dropPartitions(tblName: String,sqlContext :HiveContext): Unit = {
    
      sqlContext.sql(s"msck repair table $tblName")
    
    }
  • 相关阅读:
    wget命令
    Linux常用命令大全
    centos7 中文乱码问题解决方法
    Linux软件安装的补充
    redis在Linux上的安装
    Linux下tomcat的安装
    Linux常见命令
    Linux下jdk安装过程
    JAVA中日期处理
    JAVA中File类的使用
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6158035.html
Copyright © 2020-2023  润新知