操作说明
数据已经在 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