数据仓库搭建
1、开启hadoop的权限验证
关闭hadoop
stop-all.sh
修改hdfs-site.xml文件
<property>
<name>dfs.permissions</name>
<value>true</value>
</property>
启动hadoop
start-all.sh
2、在hive中创建数据库
数据仓库分层中,每一个层对应hive中一个数据库,对应hdfs中一个目录
通过root用户先创建
create database ods;
create database dwd;
create database dws;
create database dim;
create database ads;
3、在hdfs中创建5个目录
一个层对应一个目录
先用root用户创建
hadoop dfs -mkdir -p /daas/motl/ods/
hadoop dfs -mkdir -p /daas/motl/dim/
hadoop dfs -mkdir -p /daas/motl/dwd/
hadoop dfs -mkdir -p /daas/motl/dws/
hadoop dfs -mkdir -p /daas/motl/ads/
4、在linux中创建5个用户
每一个用户对应一个层
useradd ods
passwd ods
useradd dwd
passwd dwd
useradd dws
passwd dws
useradd dim
passwd dim
useradd ads
passwd ads
5、将目录权限赋值给不同用户
hadoop dfs -chown ods:ods /daas/motl/ods/
hadoop dfs -chown dwd:dwd /daas/motl/dwd/
hadoop dfs -chown dws:dws /daas/motl/dws/
hadoop dfs -chown dim:dim /daas/motl/dim/
hadoop dfs -chown ads:ads /daas/motl/ads/
6、修改hive权限
如果不该启动用户进不了hive
删除hive的tmp目录
rm -rf /usr/local/soft/hive-1.2.1/tmp
修改权限
chmod 777 /usr/local/soft/hive-1.2.1
7、在ods中创建表
使用ods用户进入hive
ods_ddr
ods_oidd
ods_dpi
ods_wcdr
8、将四个表的数据上传到hdfs
9、增加分区
alter table ods.ods_ddr add if not exists partition(day_id='20180503') ;
alter table ods.ods_dpi add if not exists partition(day_id='20180503') ;
alter table ods.ods_oidd add if not exists partition(day_id='20180503') ;
alter table ods.ods_wcdr add if not exists partition(day_id='20180503') ;
10、为每一个用户在hdfs中创建一个目录
通过root用户
hadoop dfs -mkdir /user/dwd/
hadoop dfs -chown dwd:dwd /user/dwd
hadoop dfs -mkdir /user/dws/
hadoop dfs -chown dws:dws /user/dws
hadoop dfs -mkdir /user/dim/
hadoop dfs -chown dim:dim /user/dim
hadoop dfs -mkdir /user/ads/
hadoop dfs -chown ads:ads /user/ads
11、DWD层-位置融合表
将jar包脚本上传到服务器
DwdResRegnMergelocationMskD.sh
dwd-1.0.jar
common-1.0.jar
启动任务
sh DwdResRegnMergelocationMskD.sh 20180503
12、DWS层-停留表
将jar包脚本上传到服务器
DwsStaypointMskD.sh
dws-1.0.jar
common-1.0.jar
启动任务
sh DwsStaypointMskD.sh 20180503
13、维表接入
1、将维表数据导入到mysql – init_tour.sql
2、在hive中创建表
通过ods创建
ods_usertag_m.sql
ods_scenic_boundary.sql
ods_admincode.sql
3、使用datax将数据集成到hdfs
datax.py -p "-Dmonth_id=201805" usertag_mysql_to_usertag_hive_ods.json
datax.py scenic_boundary_mysql_to_scenic_boundary_hive_dim.json
datax.py admin_code_mysql_to_admin_code_hive_dim.json
|