2021-11-14 15:52:46 +08:00

60 lines
1.6 KiB
Markdown

---
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_"
```