|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
 
                    
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号 
