Sqoop导出shell脚本

本文介绍了如何通过Shell脚本来实现Sqoop从Hive中的非分区表和分区表导出数据到MySQL。脚本中详细配置了连接信息、列分隔符、导出目录等参数,对于日常数据迁移操作具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sqoop对hive进行导出到mysql的shell脚本

1.表准备

--mysql表

CREATE TABLE src_sc(

`sid` int ,

`cid` int ,

`gd` int

) COMMENT = 'src_sc'CREATE TABLE src_sc_d(

`sid` int ,

`cid` int ,

`gd` int

) COMMENT = 'src_sc'--非分区表

CREATE TABLE src.src_sc (

`sid` int ,

`cid` int ,

`gd` int

) COMMENT 'sc'

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS textfile;

--分区表

drop table src.src_sc_d;

CREATE TABLE src.src_sc_d (

`sid` int ,

`cid` int ,

`gd` int

) COMMENT 'sc'

PARTITIONED BY (etl_date STRING COMMENT 'etl_日期')

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'

lines terminated by '\n'

STORED AS textfile;

2.shell脚本导出

2.1.非分区表导出脚本
#!/bin/bash

#######非分区表导出#######

#sqoop的地址的bin/sqoop

sqoop_home=/opt/links/sqoop/bin/sqoop

#mysql的连接

connect=jdbc:mysql://hlm03:8021/bfd

#用户名

username=root

#密码

password=root

#mysql表名

table=src_sc

#列分割符

fields_terminated_by="\001"

#hive表的数据地址

export_dir=/user/hive/warehouse/src.db/src_sc

export_data() {

$sqoop_home export \

--connect $connect \

--username $username \

--password $password \

--table $table \

--fields-terminated-by "$fields_terminated_by" \

--num-mappers 1 \

--columns sid,cid,gd \

--export-dir $export_dir \

--input-null-string '\\N' \

--input-null-non-string '\\N'

}

export_data
2.2.分区表接入脚本
#!/bin/bash

#######分区表导出#######

#etl_date=2022-05-09

#获取昨日日期

etl_date=$(date -d"1 day ago" +%Y-%m-%d)

#sqoop的地址的bin/sqoop

sqoop_home=/opt/links/sqoop/bin/sqoop

#mysql的连接

connect=jdbc:mysql://hlm03:8021/bfd

#用户名

username=root

#密码

password=root

#mysql表名

table=src_sc_d

#列分割符

fields_terminated_by="\001"

#分区字段

hive_partition_key=etl_date

#分区值

hive_partition_value=$etl_date

#hive表的数据地址

export_dir=/user/hive/warehouse/src.db/src_sc_d/$hive_partition_key=$hive_partition_value

export_data() {

$sqoop_home export \

--connect $connect \

--username $username \

--password $password \

--table $table \

--fields-terminated-by "$fields_terminated_by" \

--num-mappers 1 \

--columns sid,cid,gd \

--export-dir $export_dir \

--input-null-string '\\N' \

--input-null-non-string '\\N'

}

export_data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值