hive數據導出到mysql

在MySQL中創建名爲xiandian的數據庫,在xiandian數據庫中創建xd_phy_course數據表,其數據表結構如表1所示。使用Hive工具來創建數據表xd_phy_course,將phy_course_xd.txt導入到該表中,其中xd_phy_course表的數據結構如表2所示。使用Sqoop工具將hive數據倉庫中的xd_phy_course表導出到master節點的MySQL中xiandain 數據庫的xd_phy_course表。將以上操作命令和輸出結果以文本形式提交到答題框中。

在這裏插入圖片描述

註釋在最後,可以先看註釋,再看步驟

1,先把txt文件傳到本體上

[root@master ~]# ll
總用量 12314168
-rw-------. 1 root root       1245 1月  26 23:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 4329570304 1月  26 23:05 CentOS-7-x86_64-DVD-1511.iso
-rw-r--r--. 1 root root      14624 1月  27 02:38 m1.java
-rw-r--r--. 1 root root      91494 4月   2 2019 ==phy_course_xd.txt==
-rw-r--r--. 1 root root 8280023040 1月  26 23:07 XianDian-BigData-v2.2.iso
[root@master ~]# 

2,創建一個名爲xiandian的數據庫,然後創建一個名爲m1的表

create database xiandian;
create table m1 (stname varchar(50),stID int(50),class varchar(50),opt_cour varchar(50));

3.創建一個hive表,名爲h1,然後導入數據到hive表

create table h1 (stname string,stID int,class string,opt_cour string) row format delimited fields terminated by '\t' lines terminated by '\n';
load data local inpath '/root/phy_course_xd.txt' into table h1;

用sqoop工具將hive中的數據導出到mysql表中(這裏指定hive的數據庫,所以用的默認的)

 sqoop export --connect jdbc:mysql://localhost:3306/xiandian --username root --password bigdata --table m1 --hcatalog-table h1;

註釋

通過Sqoop將Hive表數據導入到Mysql通常有兩種情況。

第一種是將hive上某張表的全部數據導入到mysql對應的表中。

第二種是將hive上某張表中的部分數據導入到mysql對應的表中。

兩種方式的區別在於第二種情況需要指定要導入數據的列名稱。兩種情況的導入方式分別如下:

1.全部導入

Sqoop export --connect jdbc:mysql://127.0.0.1:3306/dbname --username mysql(mysql用戶名) --password 123456(密碼) --table student(mysql上的表) --hcatalog-database sopdm(hive上的schema) --hcatalog-table student(hive上的表)

2.部分導入

Sqoop export --connect jdbc:mysql://127.0.0.1:3306/dbname --username mysql(mysql用戶名) --password 123456(密碼) --table student(mysql上的表) --columns “id,name,age” --hcatalog-database sopdm(hive上的schema) --hcatalog-table student(hive上的表)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章