Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)
Hive总结(七)Hive四种数据导入方式 (强烈建议去看)
Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看)
把MySQL里的数据导入到HDFS
1、使用MySQL工具手工导入
把MySQL的导出数据导入到HDFS的最简单方法就是,使用命令行工具和MySQL语句。
为了导出整个数据表或整个数据库的内容,MySQL提供了mysqldump工具。
比如
SELECT col1,col2 FORM TABLE
INTO OUTFILE '/tmp/out.csv'
FIELDS TERMINATED BY ',' , LINES TERMINATED BY '\n';
这个学格式就好,具体表看自己的。
一旦我们把数据导出到文件中,就可以用hadoop fs -put把该文件,从本地linux移到HDFS上。
2、使用Sqoop把MySQL里的数据导入到HDFS
$ sqoop import --connect jdbc:mysql://192.168.80.128/hive --username hive \ > --password hive --table employees
注意,这里根据自己的来,元数据库名,用户名和密码
把MySQL里的数据导入到Hive
$ sqoop import --connect jdbc:mysql://192.168.80.128/hive --username hive -password hive --table employees --hive-import --hive-table employees
更为详细,见
用Sqoop将mysql中的表和数据导入到Hive中
把HDFS里的数据导出到MySQL
$ sqoop export --connect jdbc:mysql://192.168.80.128/hive --username hive -password hive --table employees --export-dir edata --input-fields-terminated-by '\t‘
更为详细,见
Sqoop1.4.5+hadoop2.2.0进行Mysql到HDFS的数据转换
把HDFS里的数据导出到Hive
$ sqoop export --connect jdbc://mysql://192.168.80.128/hive -username hive -password hive --table employees --export-dir /user/hive/warehouse/employees --input-fields-terminated-by '\001' --input-lines-terminated-by '\n'