【项目实战】ETL 数据导入

2020-09-24 17:40:32 浏览数 (1)

操作说明

数据已经在 MySQL 中生成,接下来就开始进行数据仓库的搭建环节。首先最重要的,也是首要的流程便是 ETL。这个阶段,因为是对结构化数据进行抽取,所以直接使用 Sqoop 工具即可。Sqoop 工具被安装到了 Node03 中,所以在 Node03 中编写脚本调用 Sqoop 进行数据抽取;而脚本化的编写也有助于之后的自动化执行。

操作流程

1. 进入 Sqoop 安装节点,即 Node03,创建 /home/warehouse/shell 目录:

代码语言:javascript复制
mkdir -p /home/warehouse/shell

2. 编写 Sqoop 数据导入脚本,对不同的表采用了较为不同的方法,脚本材料如下:

代码语言:javascript复制
cd /home/warehouse/shell
vim sqoop_import.sh
# 添加内容
#!/bin/bash

db_date=$2
echo $db_date
db_name=mall

import_data() {
sqoop import 
--connect jdbc:mysql://node02:3306/$db_name 
--username root 
--password DBa2020* 
--target-dir  /origin_data/$db_name/db/$1/$db_date 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--query   "$2"' and  $CONDITIONS;'
}

# 数据量少,可以进行全量抽取
import_sku_info(){
  import_data  "sku_info"  "select 
id, spu_id, price, sku_n

0 人点赞