如何将hdfs输出存储到mysql表?

0h4hbjxa  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我使用pig和hive对存储在hdfs中的数据集执行mapreduce操作。现在我想把输出传输到mysql表中。
如何将输出传输到mysql?

flseospp

flseospp1#

你可以利用 Apache Sqoop 从中导出 HDFSMySQL .
插图:
这是hdfs中的数据


# hadoop fs -ls /example_hive

/example_hive/file1.csv

# hadoop fs -cat /example_hive/*

1,foo
2,bar
3,ack
4,irk
5,pqr

在mysql中创建目标表 test 数据库

> create table test.example_mysql(h1 int, h2 varchar(100));

使用sqoop命令导出。(根据您的环境更新参数值--connect、--username、--password)


# sqoop export --connect "jdbc:mysql://localhost/test" --username "root" --password hadoop --table "example_mysql" --export-dir "hdfs:///example_hive" --input-fields-terminated-by ','

在mysql中检查数据

> select * from test.example_mysql;
+------+------+
| h1   | h2   |
+------+------+
|    1 | foo  |
|    2 | bar  |
|    3 | ack  |
|    4 | irk  |
|    5 | pqr  |
+------+------+

相关问题