大数据——MySQL导入数据到Hive

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。大数据——MySQL导入数据到Hive,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

首先需要开启大数据集群环境,然后导入Hive和MySQL的驱动包,再创建MySQL和Hive的连接封装类

Hive连接封装类:

package Conn

import java.sql.{Connection, DriverManager}

object HiveConn {
  def conn(url:String,username:String,password:String):Connection = {
    Class.forName("org.apache.hive.jdbc.HiveDriver")
    val conn = DriverManager.getConnection(url,username,password)
    conn
  }
}

MySQL连接封装类:

package Conn

import java.sql.{Connection, DriverManager}

object MySQLConn {
  def Conn(url: String, username: String, password: String): Connection = {
    Class.forName("com.mysql.cj.jdbc.Driver")
    val conn = DriverManager.getConnection(url, username, password)
    conn
  }
}

在创建完连接之后就是将MySQL中的文件导出到文件,然后上传到hdfs中,然后hive从hdfs中直接读取文件到表中这么一个过程:

package Conn

object useMySQL {
  def main(args: Array[String]): Unit = {
    Export()
  }
  //传入要导出数据的标名
  def Export():Unit={
    val url = "jdbc:mysql://192.168.88.151:3306/shtd_store"
    val username = "root"
    val password = "hadoop"
    val MConn = MySQLConn.Conn(url, username, password)
    val MSQL = "select * from user_info into outfile '/var/lib/mysql-files/user_info.txt'"
    val MStat = MConn.createStatement()
    MStat.executeQuery(MSQL)
  }
  def exception():Unit = {
    val url = "jdbc:hive2://192.168.88.151:10000/shtd_store"
    val username = "root"
    val conn = HiveConn.conn(url,username,"")
    val HSQLInto = "load data infile '/var/lib/mysql-files/user_info.txt' into user_info"
    val stat = conn.createStatement()
    stat.executeQuery(HSQLInto)
  }
}

 在执行完导出数据到文件的方法之后,需要将文件上传大hdfs,然后提前在hive中建立好需要导入文件的表,然后就可以开始执行导入文件的方法了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153342.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!