当前位置:网站首页>电商数仓ODS层-----日志数据装载
电商数仓ODS层-----日志数据装载
2022-08-03 21:13:00 【大数据小理】
首先生成模拟日志数据上传到hdfs层
再将hdfs中的日志数据剪切数据装载到ODS层日志
一般企业在搭建数仓时,业务系统中会存在一定的历史数据,此处为模拟真实场景,需准备若干历史数据。假定数仓上线的日期为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是否出现相应文件。
以下使用datagrip数仓工具和脚本指令
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上的存储位置
;
–数据装载语句:用装载脚本装载
–2020-06-14
//load data inpath ‘/origin_data/gmall/log/topic_log/2020-06-14’ into table ods_log partition(dt=‘2020-06-14’);
–为hive表中的文件创建索引
// [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包位置 全类名 要创建索引的lzo文件所在的路径
//创建脚本 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
*/
执行脚本后原路径中的文件没有了,剪切到了ODS层的日志层中
通过datagrip可看到数据装载到表中
双击表可查看表数据
边栏推荐
- StoneDB 开源社区月刊 | 202207期
- Linux操作Jmeter(附带:关于连接上redis无法进行写入操作的问题),JMeter配置多用户进行压力测试
- 迪赛智慧数——柱状图(多色柱状图):2021年我国城市住户存款排名
- NAACL 2022 | 具有元重加权的鲁棒自增强命名实体识别技术
- 基于DMS的数仓智能运维服务,知多少?
- 基于支持向量机的网络⼊侵检测系统的全面调查和分类
- LitJson报错记录
- 上课笔记(6)(1)——#629. 表达式括号匹配(stack)
- Nacos配置文件管理、微服务获取Nacos配置文件
- Cross-end development technical reserve record
猜你喜欢
随机推荐
AWTK开发编译环境踩坑记录1(编译提示powershell.exe出错)
CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
尚医通项目总结
直播源码开发,各种常见的广告形式
卷起来!阿里高工携 18 位高级架构师耗时 57 天整合的 1658 页面试总结
Nacos配置文件管理、微服务获取Nacos配置文件
dataframe 多层索引 更换索引 df.swaplevel(axis=1)
StoneDB 开源社区月刊 | 202207期
template string
B. Paranoid String
详解虚拟机!京东大佬出品 HotSpot VM 源码剖析笔记(附完整源码)
IDaaS 是什么?一文说清它的价值
XSS练习---一次循环和两次循环问题
CheckBox列表项选中动画js特效
华为设备VRRP配置命令
易基因:植物宏病毒组研究:植物病毒的进化与生态 | 顶刊综述
shell编程基础
迪赛智慧数——柱状图(多色柱状图):2021年我国城市住户存款排名
独立站卖家在哪些平台做社交媒体营销效果最好?
2022/08/03 学习笔记 (day23)多线程(补充)