当前位置:网站首页>E-commerce data warehouse ODS layer-----log data loading
E-commerce data warehouse ODS layer-----log data loading
2022-08-03 21:34:00 【big data theory】
First generate the simulated log data and upload it to hdfs层
再将hdfsThe log data in the cut data is loaded intoODS层日志
一般企业在搭建数仓时,业务系统中会存在一定的历史数据,此处为模拟真实场景,需准备若干历史数据.假定数仓上线的日期为2020-06-14,具体说明如下.
1.用户行为日志
用户行为日志,一般是没有历史数据的,故日志只需要准备2020-06-14一天的数据.具体操作如下:
1)启动日志采集通道,包括Flume、Kafak等
2)修改两个日志服务器(hadoop102、hadoop103)中的/opt/module/applog/application.yml配置文件,将mock.date参数改为2020-06-14.
3)执行日志生成脚本lg.sh.
4)观察HDFS是否出现相应文件.
以下使用datagripData warehouse tools and script commands
create database gmall;
– ODS层
– ODS日志表
drop table if exists ods_log;
create external table ods_log(line
string)
partitioned by (dt
string) --按照时间创建分区
stored as inputformat ‘com.hadoop.mapred.DeprecatedLzoTextInputFormat’
–指定存储格式,读数据采用LzoTextInputFormat;
OUTPUTFORMAT ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat’
LOCATION ‘/warehourse/gmall/ods/ods_log’ --指定数据在hdfs上的存储位置
;
–数据装载语句:Load with a load script
–2020-06-14
//load data inpath ‘/origin_data/gmall/log/topic_log/2020-06-14’ into table ods_log partition(dt=‘2020-06-14’);
–为hiveCreate an index on the files in the table
// [bin]$ hadoop jar /opt/module/hadoop3.1.3/share/common/hadoop-lzo-0.4.20.jar
– com.hadoop.compression.lzo.DistributedLzoIIndexer /warehouse/gmall/ods/ods_log/dt=2020-06-14
// 即hadoop jar jar包位置 全类名 to create an indexlzo文件所在的路径
//创建脚本 vim hdfs_to_ods_log.sh 再 chmod 777 hdfs_ods_log.sh
/*
#!/bin/bash
定义变量方便修改
APP=gmall
hive=/opt/module/hive/bin/hive
如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
if [ -n “$1” ] ;then
do_date=$1
else
do_date=date -d "-1 day" +%F
fi
echo ================== 日志日期为 d o d a t e = = = = = = = = = = = = = = = = = = s q l = " l o a d d a t a i n p a t h ′ / o r i g i n d a t a / do_date ================== sql=" load data inpath '/origin_data/ dodate==================sql="loaddatainpath′/origindata/APP/log/topic_log/$do_date’ into table A P P . o d s l o g p a r t i t i o n ( d t = ′ {APP}.ods_log partition(dt=' APP.odslogpartition(dt=′do_date’);
"
h i v e − e " hive -e " hive−e"sql"
hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /warehouse/ A P P / o d s / o d s l o g / d t = APP/ods/ods_log/dt= APP/ods/odslog/dt=do_date
*/
After executing the script, the files in the original path are gone,剪切到了ODSlayer in the log layer
通过datagripYou can see that the data is loaded into the table
Double-click a table to view table data
边栏推荐
- C. Fishingprince Plays With Array--Codeforces Global Round 21
- 15 years experience in software architect summary: in the field of ML, tread beginners, five hole
- XSS online shooting range---prompt
- PyCharm函数自动添加注释无参数问题
- 2022/08/03 学习笔记 (day23)多线程(补充)
- StoneDB 开源社区月刊 | 202207期
- 从0到1看支付
- 码率vs.分辨率,哪一个更重要?
- 伪标签汇总
- Use setTimeout to realize setInterval
猜你喜欢
易基因:植物宏病毒组研究:植物病毒的进化与生态 | 顶刊综述
编译器工程师眼中的好代码(1):Loop Interchange
shell编程基础
服务器安装redis
Several difficult problems in DDD
2022-8-3 第七组 潘堂智 锁、多线程
易基因|RNA m5C甲基化测序(RNA-BS)技术介绍
2022年1~7月语音合成(TTS)和语音识别(ASR)论文月报
[kali-vulnerability scanning] (2.1) Nessus lifts IP restrictions, scans quickly without results, and plugins are deleted (middle)
template string
随机推荐
Diazo Biotin-PEG3-DBCO|重氮化合物修饰生物素-三聚乙二醇-二苯并环辛炔
主板设计中:网络变压器与RJ45网口之间应该保持什么样的距离?
buildscript和allprojects的作用和区别是什么?
Markdown syntax
STP生成树
手动输入班级人数及成绩求总成绩和平均成绩?
今晚直播 | 8.2-8.4 与你聊聊开源与就业那些事!
《QDebug 2022年7月》
D - Project Planning--二分
回忆三年浮沉
dataframe 多层索引 更换索引 df.swaplevel(axis=1)
XSS线上靶场---haozi
tidyverse based on data.table?
YOLO之父宣布退出CV界,坦言无法忽视自己工作带来的负面影响
[3D检测系列-PV-RCNN] PV-RCNN论文详解、PV-RCNN代码复现、包含官网PV-RCNN预训练权重及报错问题
【历史上的今天】8 月 3 日:微软研究院的创始人诞生;陌陌正式上线;苹果发布 Newton OS
不专业面试官的经验总结
跨端开发技术储备记录
template string
Security Fundamentals 8 --- XSS