大数据之离线数仓项目搭建(一)
数据仓库搭建
文章目录
- 数据仓库搭建
- 1、开启hadoop的权限验证
- 2、在hive中创建数据库
- 3、在hdfs中创建5个目录
- 4、在linux中创建5个用户
- 5、将目录权限赋值给不同用户
- 6、修改hive权限
- 7、在ods中创建表
- 8、将四个表的数据上传到hdfs
- 9、增加分区
- 10、为每一个用户在hdfs中创建一个目录
- 11、DWD层-位置融合表
- 12、DWS层-停留表
- 13、维表接入
- 1、将维表数据导入到mysql -- init_tour.sql
- 2、在hive中创建表
- 3、使用datax将数据集成到hdfs
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用户进入hiveods_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/dwdhadoop dfs -mkdir /user/dws/
hadoop dfs -chown dws:dws /user/dwshadoop dfs -mkdir /user/dim/
hadoop dfs -chown dim:dim /user/dimhadoop 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.jsondatax.py scenic_boundary_mysql_to_scenic_boundary_hive_dim.jsondatax.py admin_code_mysql_to_admin_code_hive_dim.json
大数据之离线数仓项目搭建(一)相关推荐
- 大数据基础知识——数仓的搭建(维度建模)
数据仓库 文章目录 数据仓库 数据仓库的介绍: 数据仓库的概念: OLTP和OLAP区别: 数据仓库的特点: 面向主题: 数据集成: 非易失: 时变: 数据仓库系统架构 系统结构图 源数据 ETL 数 ...
- 大数据-案例-离线数仓-在线教育:MySQL(业务数据)-ETL(Sqoop)->Hive数仓【ODS层-数据清洗->DW层(DWD-统计分析->DWS)】-导出(Sqoop)->MySQL->可视化
一.商业BI系统概述 商业智能系统,通常简称为商业智能系统,是商业智能软件的简称,是为提高企业经营绩效而采用的一系列方法.技术和软件的总和.通常被理解为将企业中的现有数据转换为知识并帮助企业做出明智的 ...
- 大数据-案例-离线数仓-电商:【MySQL(业务)-ETL(Kettle)】+【前端JS埋点->日志->Flume->HDFS->ETL(SparkRDD)】->Hive数仓->MySQL->可视化
一.电商行业简介 1.电商行业分析 近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化.相关服务业蓬勃发展.支撑体系不断健全完善.创新的动力和能力 不断增强.电子商务 ...
- 大数据千亿级离线数仓项目第一天 环境部署和etl
千亿级数仓项目第01天讲义 课程目标 了解大数据离线数仓架构 了解项目部署环境(数据规模和集群规模) 掌握ETL工具 Kettle常用组件的使用 能够掌握kettle作业与转换区别以及linux部署 ...
- 电商离线数仓项目实战(下)
电商离线数仓项目实战(下) 电商分析--核心交易 文章目录 电商离线数仓项目实战(下) 电商分析--核心交易 一.业务需求 二.业务数据库表结构 1. 数据库表之间的联系 img 2. 业务数据库-- ...
- 企业大数据平台下数仓建设思路
免费开通大数据服务:https://www.aliyun.com/product/odps 介然(李金波),阿里云高级技术专家,现任阿里云大数据数仓解决方案总架构师.8年以上互联网数据仓库经历,对系统 ...
- 大数据电商离线数仓项目-上篇
下一篇:电商数仓项目-下篇 文章目录 第1章 数仓分层 1.1 为什么要分层 1.2 数据集市与数据仓库概念 1.3 数仓命名规范 1.3.1 表命名 1.3.2 脚本命名 1.3.3 表字段类型 第 ...
- 大数据电商离线数仓项目-下篇
上一篇:电商数仓系统1 文章目录 第5章 数仓搭建-DWS层 5.1 业务术语 5.2 系统函数 5.2.1 nvl函数 5.2.2 日期处理函数 5.2.3 复杂数据类型定义 5.3 DWS层 5. ...
- 大数据平台及数仓的通用架构和技术体系
一.大数据架构技术体系 1 数据传输层 Sqoop:支持RDBMS和HDFS之间的双向数据迁移,通常用于抽取业务数据库(比如MySQL.SQLServer.Oracle)的数据到HDFS. Canna ...
最新文章
- 报表应用系列——图表JFreeChart: 第 4 章 折线图
- 科研团队如何探索商业化落地?这家语音AI公司用十年科学试验打了样
- 北大 AI 公开课 2019 | 颜水成:人工智能行业观察与实践
- SAP UI5 CreateBindingContext 方法的实现逻辑
- linux 看不到mysql_linux的mysql下看不到mysql上的其他数据库只能看见 information_schema这一个数据库...
- 在线ajax测试,在线测试 - SosoApi,简单强大的api接口文档管理平台
- 实战04_redis-cluster集群搭建
- 设置访问权限_CentOS7利用Firewall对PostgreSQL设置安全的访问权限
- 【微信开发】-- 发送模板消息
- DBMS_STATS常用方法(收集oracle信息)
- linux之vi,vim命令
- 0=iiLen 在C++中
- 给定一个数组,寻找次大的数 (1)
- 顺序锁(seqlock)
- jar包打开闪退解决办法
- golang的json的时间格式化解决方案
- 每日一篇_启动又报错了The POM for com.xxxx:qgg-core:jar:0.0.1-SNAPSHOT is missing
- BaseFX 实习小记(四)
- Gluster集群管理小分析
- springboot整合mybatis:Consider defining a bean of type 'com.mk.mapper.UserMapper'
热门文章
- 软件测试中PR测试是什么意思?
- [附源码]计算机毕业设计springboot交通事故档案管理系统
- 高等代数_证明_矩阵的任意特征值的代数重数大于等于其几何重数
- 2.STM32F407之HAL库——星星点灯
- 真!无钥匙!数字钥匙在智能电动车领域的实践
- 随机过程 更新过程(上)
- 已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组
- linux top VIRT RES SHR SWAP DATA内存参数详解
- 演化计算基准函数(Python版)
- 2022年最强软件测试教程大汇总:测试基础+自动化测试进阶自学教程