我使用pig和hive对存储在hdfs中的数据集执行mapreduce操作。现在我想把输出传输到mysql表中。如何将输出传输到mysql?
flseospp1#
你可以利用 Apache Sqoop 从中导出 HDFS 至 MySQL .插图:这是hdfs中的数据
Apache Sqoop
HDFS
MySQL
# 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 数据库
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 | +------+------+
1条答案
按热度按时间flseospp1#
你可以利用
Apache Sqoop
从中导出HDFS
至MySQL
.插图:
这是hdfs中的数据
在mysql中创建目标表
test
数据库使用sqoop命令导出。(根据您的环境更新参数值--connect、--username、--password)
在mysql中检查数据