60 lines
1.6 KiB
Markdown
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_"
|
|
```
|
|
|