博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
044 hive与mysql两种数据源之间的join
阅读量:7251 次
发布时间:2019-06-29

本文共 1733 字,大约阅读时间需要 5 分钟。

  这篇文章是基于上一篇文章的续集

一:需求

1.图形表示

  

 

 

二:程序

1.程序、

1 package com.scala.it 2  3 import java.util.Properties 4  5 import org.apache.spark.sql.SaveMode 6 import org.apache.spark.sql.hive.HiveContext 7 import org.apache.spark.{SparkConf, SparkContext} 8  9 object HiveToMysql {10   def main(args: Array[String]): Unit = {11     val conf = new SparkConf()12       .setMaster("local[*]")13       .setAppName("hive-yo-mysql")14     val sc = SparkContext.getOrCreate(conf)15     val sqlContext = new HiveContext(sc)16     val (url, username, password) = ("jdbc:mysql://linux-hadoop01.ibeifeng.com:3306/hadoop09", "root", "123456")17     val props = new Properties()18     props.put("user", username)19     props.put("password", password)20 21     // ==================================22     // 第一步:同步hive的dept表到mysql中23     sqlContext24       .read25       .table("hadoop09.dept") // database.tablename26       .write27       .mode(SaveMode.Overwrite) // 存在覆盖28       .jdbc(url, "mysql_dept", props)29 30     // 第二步:hive表和mysql表进行数据join操作 ==> 采用HQL语句实现31     // 2.1 将mysql的数据注册成为临时表32     sqlContext33       .read34       .jdbc(url, "mysql_dept", props)35       .registerTempTable("temp_mysql_dept") // 临时表中不要出现"."36 37     // 第三步数据join38     sqlContext.sql(39       """40         |SELECT a.*,b.dname,b.loc41         |FROM hadoop09.emp a join temp_mysql_dept b on a.deptno = b.deptno42       """.stripMargin)43       .write44       .format("org.apache.spark.sql.execution.datasources.parquet")45       .mode(SaveMode.Overwrite)46       .save("/spark/join/parquet")47 48     // 检测数据是否join成功49     sqlContext50       .read51       .format("parquet")52       .load("/spark/join/parquet")53       .show()54 55   }56 }

 

2.效果

  

 

三:知识点

1.format

  可以写包名。

  

 

转载地址:http://gshbm.baihongyu.com/

你可能感兴趣的文章
VI的配置
查看>>
LVS学习笔记
查看>>
Lambda
查看>>
springboot 测试类
查看>>
利用javapns对IOS进行推送
查看>>
求1+2+3+...+n
查看>>
TeX教程
查看>>
C# DataTable 通过Linq分组
查看>>
bzoj 4484 [Jsoi2015]最小表示——bitset
查看>>
问题 C: A+B Problem II
查看>>
react踩坑 - 1, componentDidMount使用
查看>>
busybox microcom
查看>>
hdu6376 度度熊剪纸条 思维
查看>>
二维数组转换成一维数组
查看>>
API 3个 js对象
查看>>
NUC1178 Kickdown
查看>>
理解和运用javascript中的call及apply
查看>>
VUE-CLI 设置页面title
查看>>
微信备份方法
查看>>
微软商业服务器部署系列3-windows serevr 2008介绍
查看>>