软件环境:

linux系统: CentOS6.7
Hadoop版本: 2.6.5
zookeeper版本: 3.4.8

##主机配置:
######一共m1, m2, m3这五部机, 每部主机的用户名都为centos
```
192.168.179.201: m1
192.168.179.202: m2
192.168.179.203: m3

m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Worker

m2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Worker

m3: Zookeeper, DataNode, NodeManager, Worker



---
<br>
<br>
####说明:
使用UDF函数将Hive中的数据插入MySQL中, 需先在Hive中创建一个UDF临时函数, 然后通过该临时函数将数据从Hive插入到MySQL中 ---
<br>
####1.创建临时函数
启动Hive服务, 在Hive中创建UDF临时函数, 如以下例子: (dboutput: 临时函数名)

CREATE TEMPORARY FUNCTION dboutput AS 'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput';



---
<br>
####2.将hive表中的数据直接插入mysql中
####规范:

select dboutput('jdbc:mysql://localhost/dbName','userName','passWord','INSERT INTO mysqlTableName(column1, column2, column3, column4) VALUES (?,?,?,?)', column1, column2, column3, column4) from hiveTableName;


####例子:

select dboutput('jdbc:mysql://m1/result','root','123','INSERT INTO bill_comp_archive(time, uid, billId, archiveId) VALUES (?,?,?,?)', time,uid,billId,archiveId) from bill_comp_archive;


####语法解析:

dboutput: 临时函数

m1: 目标mysql所在的主机的IP地址或主机名

result: 目标mysql中的数据库名

root: 登录mysql的用户名

123: 登录mysql的密码

INSERT INTO bill_comp_archive: "bill_comp_archive" 为mysql中的表名

VALUES (?,?,?,?): 括号中的为字段的数据类型, ?表示通用的数据类型

from bill_comp_archive: "bill_comp_archive"为hive中的数据库



---
<br>
####3.报错返回信息

输出有3个:

0: 成功

1: SQL语法错误

2: 数据库连接错误



---
<br>
<br>
<br>

Hive扩展功能(三)--使用UDF函数将Hive中的数据插入MySQL中的更多相关文章

  1. mysql结构相同的三张表查询一条记录\将一张表中的数据插入另外一张表

    将一张表中的数据插入另外一张表 1.两张表结构相同 insert into 表1名称 select * from 表2名称 2.两张结构不相同的表 insert into 表1名称(列名1,列名2,列 ...

  2. hive从查询中获取数据插入到表或动态分区

    Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两 ...

  3. sqoop从hive导入数据到mysql时出现主键冲突

    今天在将一个hive数仓表导出到mysql数据库时出现进度条一直维持在95%一段时间后提示失败的情况,搞了好久才解决.使用的环境是HUE中的Oozie的workflow任何调用sqoop命令,该死的o ...

  4. mysql中创建函数

    MySql创建函数 一.查看创建函数的功能是否开启: mysql> show variables like '%func%'; +-------------------------------- ...

  5. mysql中影响myisam引擎写入性能的三项设置

    一.LOW_PRIORITY1.对于myisam默认是写操作优先,读操作滞后.通过该项更改,可以使读操作优先,写操作在有空闲的时候再写入.但该项可能在理论上造成,写被永远阻塞. SQL语句中使用示例: ...

  6. mysql中的函数与存储过程

    mysql中的函数:1 mysql下创建函数: 1.1 语法: delimiter $$ -- 设置分隔符,默认是; 设置成其他符号,让编译器知道我们函数编写的结束,此处设置成$$ create fu ...

  7. MySQL中count函数使用方法详解

      count函数是用来统计表中或数组中记录的一个函数,下面我来介绍在MySQL中count函数用法与性能比较吧. count(*) 它返回检索行的数目, 不论其是否包含 NULL值. SELECT ...

  8. 为什么不能用drop function add 去删除函数? 因为不能使用 mysql中的保留字!

    mysql中有很多的 保留字, 也叫关键字, 你在使用 数据库中的任何东西, 都最好是 避开这些关键字/保留字, 包括 数据库名, 表名, 字段名, 函数名, 存储过程名. 这些关键字包括: mysq ...

  9. Oracle 函数 “申请通过后,将该表中循环遍历到的所有内容插到另一个表中”

    create or replace function mcode_apply_insert_material(p_mca_no VARCHAR2, p_action VARCHAR2, p_wf_no ...

随机推荐

  1. poj 3074

    题意:解数独 分析: 完整的数独有四个充要条件: 1.每个格子都有填数字 2.每列都有1~9中的每个数字 3.每行都有1~9中的每个数字 4.每个9宫格都有1~9中的每个数字 可以转化成精确覆盖问题. ...

  2. 只用html和css画出不等分圆盘,不用canvas

    <style> .box{height: 200px;width: 200px;border-radius: 100%; overflow: hidden; margin: 200px; ...

  3. windows 2008 64位在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

    在本机32位环境中使用access数据库正常. 公布到server上时提示:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 server是64位环境.windows 2008,64位的t ...

  4. lua中的metatable和metamethod

    --元表和元方法给lua里的值设定一些操作,让我们可以对这些操作自定义 --创建一个新的table变量时,它是不存在元表的 --在Lua中,只能设置table的元表,其他类型的值的元表,只能通过C代码 ...

  5. zoj 月赛

    Wumpus Time Limit: 2 Seconds      Memory Limit: 65536 KB One day Leon finds a very classic game call ...

  6. 1.4-动态路由协议OSPF②

    LAB2.通过反掩码控制有哪些接口,在运行OSPF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   step1:启动OSPF,并宣告网络: R1(config ...

  7. 负载均衡算法,轮询方式 大话设计模式之工厂模式 C#

    负载均衡算法,轮询方式 2018-04-13 17:37 by 天才卧龙, 13 阅读, 0 评论, 收藏, 编辑 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现 ...

  8. LeetCode 645. Set Mismatch (集合不匹配)

    The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of ...

  9. Server Tomcat v8.0 Server at localhost failed to start.

    怎么办? 查资料的话别人会告诉你须要删除一个东西.这是一种方法.可是你的错误并不是通过这种方法能够解决. 比方像我 <url-pattern>login</url-pattern&g ...

  10. HDU 5446 CRT+Lucas+快速乘

    Unknown Treasure Problem Description On the way to the next secret treasure hiding place, the mathem ...