mysql数据导入hive_Load将Mysql数据导入Hive样例方案

本文详细介绍了如何使用Loader工具将Mysql中的历史数据导入到Hive,涉及从创建用户、准备Loader和Mysql环境,到配置Loader任务及查看导入结果的全过程。包括设置数据库连接、创建表、生成数据、配置Loader作业和运行任务等步骤。
摘要由CSDN通过智能技术生成

1.1业务场景

模拟使用Loader工具将客户移动电话系统产生的历史数据从原始数据库Mysql导入到Hive中,进行离线分析。

1.2操作步骤

1.2.1创建用户

1.进入FunsionInsight Manager界面,进去系统,创建本次测试用户,给予最大权限即可。

b08bb4400a73a3f090b2318675024819.png

1.2.2Loader准备工作

1.获取关系型数据库对应的驱动jar包保存在Loader服务主备节点的lib路径:“${BIGDATA_HOME}/FusionInsight_Porter_6.5.0/install/FusionInsight-Sqoop-1.99.3/FusionInsight-Sqoop-1.99.3/server/webapps/loader/WEB-INF/ext-lib”。

2.使用root用户在主备节点分别执行以下命令修改权限:

chown omm:wheel jar包文件名

chmod 600 jar包文件名

acf8d1a11586d43c0fed07ca1482dc21.png

3.登录FusionInsight Manager系统,选择“集群 > 服务 > Loader > 更多 > 重启”,输入管理员密码重启Loader服

务。

1.2.3Mysql准备工作

1.登录事先安装好的Mysql数据库,方式如下:

mysql –uroot –p Huawei@123

2.创建并使用数据库

create database inform;

use inform;

3.创建mysql数据表(模拟客户原始数据表)

CREATE TABLE data_temp_demo (

tel_num INT NOT NULL             #电话号码

,user_ip_addr VARCHAR(256)             #IP地址

,device_name VARCHAR(128)             #设备名

,rom_ver VARCHAR(128)                    #ROM版本

,hardware_ver VARCHAR(256)          #硬件版本

,app_name VARCHAR(256)                 #应用名称

,os_ver VARCHAR(256)                      #操作系统版本

,os_language VARCHAR(256)              #语言

,carrier VARCHAR(128)                      #运营商

可以使用以下两种方法将Hive中的数据导入MySQL中: 1. 使用Sqoop导出数据MySQL Sqoop是一个开源工具,用于在Hadoop和关系型数据库间进行数据传输。以下是导出数据MySQL的示例命令: ``` sqoop export \ --connect jdbc:mysql://mysql_host:port/mysql_database \ --username mysql_username \ --password mysql_password \ --table mysql_table \ --export-dir hive_table \ --input-fields-terminated-by ',' \ --input-lines-terminated-by '\n' \ --input-null-string '\\N' \ --input-null-non-string '\\N' ``` 其中,mysql_host是MySQL主机名或IP地址,port是MySQL端口号,mysql_database是MySQL数据库名称,mysql_username和mysql_password是MySQL登录凭据,mysql_table是要导入MySQL表名,hive_table是要导出的Hive表名。 2. 使用Hive自定义输出格式将数据导出到MySQL Hive支持自定义输出格式,可以将数据输出为文本文件,并使用LOAD DATA命令将其导入MySQL中。以下是使用Hive自定义输出格式将数据导出到MySQL的示例命令: ``` INSERT OVERWRITE DIRECTORY '/tmp/hive_output' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SELECT * FROM hive_table; LOAD DATA LOCAL INFILE '/tmp/hive_output' INTO TABLE mysql_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; ``` 其中,hive_table是要导出的Hive表名,mysql_table是要导入MySQL表名。在第一条命令中,将数据输出为以逗号分隔的文本文件,存储在/tmp/hive_output目录中。在第二条命令中,使用LOAD DATA命令将文本文件导入MySQL表中。请注意,LOAD DATA命令需要在MySQL客户端中执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值