|NO.Z.00055|——————————|BigDataEnd|——|Hadoop&Sqoop.V03|——|Sqoop.v03|MySQL导入到Hive|

一、MySQL 到 Hive
### --- MySQL 到 Hive

~~~     导入:数据进入大数据平台:import
~~~     导出:数据离开大数据平台:export
### --- 在 hive 中创建表:

[root@linux123 ~]# hive
hive (default)> use mydb;
~~~     # 提前创建表
hive (mydb)> CREATE TABLE mydb.goodtbl(
gname string,
serialNumber int,
price int,
stock_number int,
create_time date);
### --- 执行导入

sqoop import \
--connect jdbc:mysql://linux123:3306/sqoop \
--username hive \
--password 12345678 \
--table goodtbl \
--hive-import \
--create-hive-table \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table mydb.goodtbl \
-m 1
### --- 导入的数据文件

[root@linux123 ~]# hdfs dfs -ls /user/hive/warehouse/mydb.db/goodtbl
-rwxrwxrwx   3 root supergroup          0 2021-08-28 22:39 /user/hive/warehouse/mydb.db/goodtbl/_SUCCESS
-rwxrwxrwx   3 root supergroup       5474 2021-08-28 22:39 /user/hive/warehouse/mydb.db/goodtbl/part-m-00000
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00001
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00002
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00003
### --- 参数说明:

~~~     hive-import。必须参数,指定导入hive
~~~     hive-database。Hive库名(缺省值default)
~~~     hive-table。Hive表名
~~~     fields-terminated-by。Hive字段分隔符
~~~     hive-overwrite。覆盖中已经存在的数据
~~~     create-hive-table。创建好 hive 表,但是表可能存在错误。
~~~     不建议使用这个参数,建议提前建好表
二、导出数据:Hive/HDFS到RDBMS
### --- 备注:MySQL表需要提前创建
~~~     # 提前创建表

mysql> CREATE TABLE sqoop.goodtbl2(
gname varchar(50),
serialNumber int,
price int,
stock_number int,
create_time date);
~~~     # 执行导出

[root@linux123 ~]#  sqoop export \
--connect jdbc:mysql://linux123:3306/sqoop \
--username hive \
--password 12345678 \
--table goodtbl2 \
-m 1 \
--export-dir  /user/hive/warehouse/mydb.db/goodtbl \
--input-fields-terminated-by "\t"
### --- 查看导出的数据

~~~     # 查看hive下goodtbl下有多少数据
hive (mydb)> select count(*) from goodtbl;
800
~~~     # hive中导出的数据文件位置

[root@linux123 ~]# hdfs dfs -ls /user/hive/warehouse/mydb.db/goodtbl
-rwxrwxrwx   3 root supergroup          0 2021-08-28 22:39 /user/hive/warehouse/mydb.db/goodtbl/_SUCCESS
-rwxrwxrwx   3 root supergroup       5474 2021-08-28 22:39 /user/hive/warehouse/mydb.db/goodtbl/part-m-00000
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00001
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00002
-rw-r--r--   3 root supergroup       5474 2021-08-28 22:56 /user/hive/warehouse/mydb.db/goodtbl/part-m-copy-00003
~~~     # 导入后mysql下数据的变化

mysql>  select count(*) from goodtbl2;
+----------+
| count(*) |
+----------+
|      800 |
+----------+

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(14)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示