--- title: "Sqoop 笔记" date: 2019-10-30T11:35:48+08:00 lastmod: 2019-10-30T11:35:48+08:00 tags: ["sqoop", "hive", "mysql"] categories: ["hadoop"] --- ## 把 mysql 表数据导入 hive 中 - 命令格式 ```bash sqoop import {参数列表} ``` - 默认在 hive 中创建指定表,如果该表已存在,则把 mysql 表数据追加到该表中,常规参数如下 ```bash --connect jdbc:mysql://_mysql_server_:3306/_mysql_dbname_ --username _mysql_user_ --password _mysql_password_ --table _mysql_tablename_ --hive-import --hive-database _hive_dbname_ --hive-table _hive_tablename_ --hive-drop-import-delims -m 1 ``` - 如果该表已存在,则报错退出,参数如下 ```bash --create-hive-table ``` - 如果该表已存在,则覆盖重新导入,参数如下 ```bash --hive-overwrite ``` - 导入增量数据,参数如下 ```bash --incremental append --check-column _mysql_tablecolumn_ --last-value _last_value_ ``` ## 把 hive 表数据导入 mysql 中 - 命令格式 ```bash sqoop export {参数列表} ``` - mysql 中需提前创建好待导入的表,常规参数如下 ```bash --connect jdbc:mysql://_mysql_server_:3306/_mysql_dbname_ --username _mysql_username_ --password _mysql_password_ --table _mysql_tablename_ --hcatalog-database _hive_dbname_ --hcatalog-table _hive_tablename_ ``` - 只导出 hive 表中的部分的指定(部分)字段,参数如下 ```bash --columns "_column_name1_,_column_name2_,_column_name3_" ```