问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大数据环境下,ETL的架构设计的有哪些关键点

发布网友 发布时间:2022-05-01 06:57

我来回答

2个回答

懂视网 时间:2022-05-06 17:46

背景1 : 随着接入数据和处理数据的增加,生产脚本也越来越多,脚本由于前期的开发人员没有做到规范管理,导致脚本很乱。 解决方案: 1) 在lunix上规范目录,按平台,业务模块分目录存放。 2) 做好版本管理,提交到生产的脚本必须要commit到svn服务器。 3

背景1 : 随着接入数据和处理数据的增加,生产脚本也越来越多,脚本由于前期的开发人员没有做到规范管理,导致脚本很乱。

解决方案:

1) 在lunix上规范目录,按平台,业务模块分目录存放。

2) 做好版本管理,提交到生产的脚本必须要commit到svn服务器。

3) lunix上的目录是反应到svn的目录映射。

背景2 :脚本中很多地方有范围,指标,参数值,怎么把这些做的更灵活,而不是写死?

解决方案:

1)尽量把中文或英文映射为数字,不仅节省存储资源,还使程序更灵活。

比如:平台有 pc电脑,手机等,那就可以分别用1代表pc电脑 2 代表手机 3 代表其它。同时做一个码表来解释对应的关系。

主页 0 a

电台 1 b

语种 2 c

华语 3 d

多级目录的解析

/主页/电台/语种/华语

/0/1/2/3

/1/2/3

/xxx/xxx/xxx/xxx

如果多级目录有变化,怎么自动适应目录变化或者 回归二进制本质,用二进制表示。

2) 灵活应用参数列表,做一个的参数码表,动态生成hql语句。

比如:现在要分时段统计,用户出现次数,时段如下:

早上 6:00 -8:00

上午 8:00-12:00

中午 12:00-14:00

下午 14:00-18:00

晚上 18:00-23:00

深夜 23:00-00:00

凌晨 00:00-6:00

做一个码表 id comment time_region val par1 par2

1 早上 6:00 -8:00 1 6 8

2 上午 8:00-12:00 2 8 12

3 中午 12:00-14:00 3 12 14

4 下午 14:00-18:00 4 14 18

5 晚上 18:00-23:00 5 18 23

6 深夜 23:00-24:00 6 23 24

7 凌晨 00:00-6:00 7 0 6

读取该表,动态拼hql ,用后面的val分别代表这些时段。不管以后时段怎么修改,只要修改码表就行了。


比如要写如下的hive_sql

insert overwrite table common.order
select
 userid
 ,case 
 when hour_time>=0 and hour_time<=2 then '00_03'
 when hour_time>=3 and hour_time<=5 then '03_06' 
 when hour_time>=6 and hour_time<=7 then '06_08'
 when hour_time>=8 and hour_time<=11 then '08_12'
 when hour_time>=12 and hour_time<=13 then '12_14'
 when hour_time>=14 and hour_time<=17 then '14_18'
 when hour_time>=18 and hour_time<=23 then '18_24'
 else '0'
 end 
 as hour_time 
 ,count(distinct dt) hour_dt_num
 where dt >='2014-10-01'
 and dt<='2014-10-30'
 group by userid,
 case when hour_time>=0 and hour_time<=2 then '00_03'
 when hour_time>=3 and hour_time<=5 then '03_06' 
 when hour_time>=6 and hour_time<=7 then '06_08'
 when hour_time>=8 and hour_time<=11 then '08_12'
 when hour_time>=12 and hour_time<=13 then '12_14'
 when hour_time>=14 and hour_time<=17 then '14_18'
 when hour_time>=18 and hour_time<=23 then '18_24'
 else '0'
 end 


可以写成这样子:

#!/bin/bash
#
# add by lishc 2014-11-25
 
mysql=`which mysql`
user="root"
password="123"
database="test"
table="parm"
 
command="select par1,par2,id from test.$table "
$mysql -u${user} -p${password} -e "${command}" >m.txt
 
###初始化
echo " insert overwrite table common.order">mysql.sql
echo "  select ">>mysql.sql
echo "   userId " >>mysql.sql
echo "   case ">>mysql.sql
 
sed -i -e '1d' m.txt
cat m.txt |while read line 
do
 par1=$(echo "${line}"|awk -F ' ' '{print $1}')
 par2=$(echo "${line}"|awk -F ' ' '{print $2}') 
 id=$(echo "${line}"|awk -F ' ' '{print $3}') 
 echo "par1: ${par1}"
 echo "par2: ${par2}"
 echo "   when hour_time >=${par1} and hour_time<=${par2} then '${id}' ">>mysql.sql
Done


3) 所有的脚本存放在数据库中,用程序解析参数,并调用执行。

可参考kettle设计:

每个步骤组件化:输入,输出,执行脚本,执行sql,管理执行顺序。

由于ETL过程或数据分析模型,都是一些有序的sql或脚本操作。

热心网友 时间:2022-05-06 14:54

面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。1)对象(Object) 可以对其做事情的一些东西。一个对象有状态、行为和标识三种属性。2)类(class) 一个共享相同结构和行为的对象的集合。类(Class)定义了一件事物的抽象特点。通常来说,类定义了事物的属性和它可以做到的(它的行为)。举例来说,“狗”这个类会包含狗的一切基础特征,例如它的孕育、毛皮颜色和吠叫的能力。类可以为程序提供模版和结构。一个类的方法和属性被称为“成员”。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
红薯干空气炸锅多长时间 用空气炸锅做红薯干好吃么 51. com个人空间登录? 女主人公叫眉姐,烦问一下这电视局的名字是什么 小男人和大女人,电视剧,挺不错的 浙江理工大学收美术生吗?分数线多少? 我是浙江美术生,请问杭州理工服装设计与东华大学哪个好考? 浙江2024美术生能上的大学有哪些 浙江理工大学什么艺术 ...每次到了晚上或者某种特定时间就会想起他,还会哭,该怎样排解。删除他... 和“我们之间记忆的点点滴滴我永远也忘不了,你给我的快乐谁也不能够代替... 请知道铁路火车事故? 在oracle中做ETL操作, 超大数据量插入表格,一亿条左右,大约100多G的数据,怎么样能快速插入 请问谁有读心专家和重案六组的百度云咩~ 我要找小形升降车的连系电话?电话多少 《重案六组3》txt下载在线阅读全文,求百度网盘云资源 长春百瑞特工业设备有限公司怎么样? 《重案六组-2001》百度网盘高清资源在线观看,徐庆东导演的 求 重案六组 百度云资源,谢谢 丰田荣放的优缺点是什么? 丰田RAV4荣放这款车,适合多大年纪的人开? 荣放车怎么样? 铃木终于开始造“大车”了!虽然只是一款“换壳丰田荣放” 结婚要放烟花吗? 冉改的大写拼音? 冉粤语怎么读? 冉怎么读? 冉申龙 这三个字的拼音怎么写 燃放烟花爆竹时要注意什么 冉洪琴的拼音打出来 耳旁冉读什么拼音 四五月份中铁路有什么大事记啊?除了4.28胶济铁路特别重大事故 华为荣耀6x发热是怎么回事? 求各种进制互相转换,急高手们快来救命啊 三角插头电器都需要插座接地线吗? - 信息提示 庆祝一周年应该做个什么样的蛋糕 一周年蛋糕 我和女朋友一周年了。想买个蛋糕。请问蛋糕上写什么字? 今天是我们的恋爱一周年纪念日,想知道订做一个两人份的小蛋糕需要多少钱,需要多久可以做出来 恋爱一周年买个蛋糕庆祝合适吗 英雄联盟最牛逼的选手是哪位? 国庆节快到了,想给成立一周年的公司订个蛋糕,北京五环内哪家的蛋糕最好吃呢? 我和女友一周年的蛋糕上该写什么? 新潮能源2022目标价?新潮能源投资股票股吧?新潮能源 2021 分红派息? 交往一周年 要在蛋糕上写什么字? 请问,春节放假在宿舍把膝盖骨摔断,这个保险公司赔偿吗? DNF中那个一周年蛋糕怎么做~~~??? 女朋友生日和我们一周年是同一天蛋糕上写什么合适 忘了给男朋友准备一周年礼物了,现在怎么办才好?? 一周年纪念日,男朋友请我去吃了西餐,还送了一束花,但是没有订蛋糕,我是不是该订个蛋糕