大数据之离线数仓项目搭建(一)

数据仓库搭建

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、将目录权限赋值给不同用户

# 用root用户修改权限

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 
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目教程以国内电商巨头实际业务应用场景为依托,同时以阿里云ECS服务器为技术支持,紧跟大数据主流场景,对接企业实际需求,对电商数的常见实战指标进行了详尽讲解,让你迅速成长,获取最前沿的技术经验。 二、项目架构 版本框架:Flume、DateHub、DataWorks、MaxCompute、MySql以及QuickBI等; Flume:大数据领域被广泛运用的日志采集框架; DateHub:类似于传统大数据解决方案中Kafka的角色,提供了一个数据队列功能。对于离线计算,DataHub除了供了一个缓冲的队列作用。同时由于DataHub提供了各种与其他阿里云上下游产品的对接功能,所以DataHub又扮演了一个数据的分发枢纽工作; 据上传和下载通道,提供SQL及MapReduce等多种计算分析服务,同时还提供完善的安全解决方案; DataWorks:是基于MaxCompute计算引擎,从工作室、车间到工具集都齐备的一站式大数据工厂,它能帮助你快速完成数据集成、开发、治理、服务、质量、安全等全套数据研发工作; QuickBI & DataV:专为云上用户量身打造的新一代智能BI服务平台。 三、项目场景 数项目广泛应用于大数据领域,该项目技术可以高度适配电商、金融、医疗、在线教育、传媒、电信、交通等各领域; 四、项目特色 本课程结合国内多家企业实际项目经验。从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建基于阿里云服务器的大数据集群。采用阿里云ECS服务器作为数据平台,搭建高可用的、高可靠的Flume数据采集通道,运用阿里云DateHub构建中间缓冲队列并担任数据分发枢纽将数据推送至阿里自主研发的DataWorks对数据进行分层处理,采用MaxCompute作为处理海量数据的方案,将计算结果保存至MySQL并结合阿里的QuickBI工作做最终数据展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值