|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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」