当前位置: 首页 > news >正文

福建建设信息网站企业网站有哪些功能

福建建设信息网站,企业网站有哪些功能,新闻网站开发目的,自助做app的网站文章目录一、创建数据库二、ODS 层(原始数据层)三、DWD 层(明细数据层)3.1 get_json_object 函数使用3.2 启动日志表 DWD层创建四、DWS 层(服务数据层)五、DWT 层(数据主题层)六、AD…

文章目录

  • 一、创建数据库
  • 二、ODS 层(原始数据层)
  • 三、DWD 层(明细数据层)
    • 3.1 get_json_object 函数使用
    • 3.2 启动日志表 DWD层创建
  • 四、DWS 层(服务数据层)
  • 五、DWT 层(数据主题层)
  • 六、ADS 层(数据应用层)

  • 保持数据原貌不做任何修改,起到备份数据的作用
  • 数据采用LZO压缩,减少磁盘存储空间。100G数据可以压缩到10G以内
  • 创建分区表,防止后续的全表扫描,在企业开发中大量使用分区表
  • 创建外部表。在企业开发中,除了自己用的临时表,创建内部表外,绝大多数场景都是创建外部表

一、创建数据库

[root@hadoop100 hive-3.1.2]# bin/hivehive (default)> create database mall;
hive (default)> use mall

二、ODS 层(原始数据层)

创建 ODS 层表通用步骤如下:

① 创建启动日志表

hive (mall)> drop table if exists ods_event_log;
hive (mall)> create external table ods_event_log(`line` string) 
partitioned by(`dt` string)
stored AS inputformat 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'
outputformat 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
location '/warehouse/mall/ods/ods_event_log';

② 加载数据

hive (mall)> load data inpath '/origin_data/mall/log/topic_event/2021-01-08'
into table mall.ods_event_log partition(dt='2021-01-08');

③ 为 lzo 压缩文件创建索引

[root@hadoop100 ~]# hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar \
com.hadoop.compression.lzo.DistributedLzoIndexer /warehouse/mall/ods/ods_event_log/dt=2021-01-08

④ 查看是否加载成功

hive (mall)> select * from ods_event_log limit 1;
{"action":"1","ar":"MX","ba":"Huawei","detail":"","en":"start","entry":"3","extend1":"",
"g":"8844J1F0@gmail.com","hw":"750*1134","l":"es","la":"-36.5","ln":"-43.3",
"loading_time":"15","md":"Huawei-2","mid":"2","nw":"WIFI","open_ad_type":"1","os":"8.2.8",
"sr":"L","sv":"V2.3.6","t":"1609368942552","uid":"2","vc":"19","vn":"1.0.1"}	2021-01-08
Time taken: 0.214 seconds, Fetched: 1 row(s)

⑤ 通用加载数据脚本

#!/bin/bashdb=mall
hive=/opt/module/hive/bin/hive-3.1.2
do_date=`date -d '-1 day' +%F`if [[ -n "$1" ]]; thendo_date=$1
fisql="
load data inpath '/origin_data/mall/log/topic_start/$do_date' into table ${db}.ods_start_log partition(dt='$do_date');
load data inpath '/origin_data/mall/log/topic_event/$do_date' into table ${db}.ods_event_log partition(dt='$do_date');
"$hive -e "$sql"
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /warehouse/mall/ods/ods_start_log/dt=$do_date
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /warehouse/mall/ods/ods_event_log/dt=$do_date

Shell中单引号和双引号区别

  • 单引号不取变量值
  • 双引号取变量值
  • 反引号`,执行引号中命令
  • 双引号内部嵌套单引号,取出变量值
  • 单引号内部嵌套双引号,不取出变量值

三、DWD 层(明细数据层)

  • 对用户行为数据解析
  • 对核心数据进行判空过滤
  • 对业务数据采用维度模型重新建模,即维度退化

3.1 get_json_object 函数使用

数据 xjson[{"name":"大郎","sex":"男","age":"25"},{"name":"西门庆","sex":"男","age":"47"}]

取出第一个 json 对象select get_json_object('[{"name":"大郎","sex":"男","age":"25"},{"name":"西门庆","sex":"男","age":"47"}]','$[0]');

结果{"name":"大郎","sex":"男","age":"25"}

取出第一个 json 的 age 字段的值SELECT get_json_object('[{"name":"大郎","sex":"男","age":"25"},{"name":"西门庆","sex":"男","age":"47"}]',"$[0].age");

结果:25

3.2 启动日志表 DWD层创建

① 创建启动日志表

hive (mall)> CREATE EXTERNAL TABLE dwd_start_log(
`mid_id` string,
`user_id` string, 
`version_code` string, 
`version_name` string, 
`lang` string, 
`source` string, 
`os` string, 
`area` string, 
`model` string,
`brand` string, 
`sdk_version` string, 
`gmail` string, 
`height_width` string,  
`app_time` string,
`network` string, 
`lng` string, 
`lat` string, 
`entry` string, 
`open_ad_type` string, 
`action` string, 
`loading_time` string, 
`detail` string, 
`extend1` string
)
PARTITIONED BY (dt string)
stored as parquet
location '/warehouse/mall/dwd/dwd_start_log/'
TBLPROPERTIES('parquet.compression'='lzo');

② 导入数据

hive (mall)> insert overwrite table dwd_start_log
PARTITION (dt='2021-01-11')
select get_json_object(line,'$.mid') mid_id,get_json_object(line,'$.uid') user_id,get_json_object(line,'$.vc') version_code,get_json_object(line,'$.vn') version_name,get_json_object(line,'$.l') lang,get_json_object(line,'$.sr') source,get_json_object(line,'$.os') os,get_json_object(line,'$.ar') area,get_json_object(line,'$.md') model,get_json_object(line,'$.ba') brand,get_json_object(line,'$.sv') sdk_version,get_json_object(line,'$.g') gmail,get_json_object(line,'$.hw') height_width,get_json_object(line,'$.t') app_time,get_json_object(line,'$.nw') network,get_json_object(line,'$.ln') lng,get_json_object(line,'$.la') lat,get_json_object(line,'$.entry') entry,get_json_object(line,'$.open_ad_type') open_ad_type,get_json_object(line,'$.action') action,get_json_object(line,'$.loading_time') loading_time,get_json_object(line,'$.detail') detail,get_json_object(line,'$.extend1') extend1
from ods_start_log 
where dt='2021-01-11';

③ 通用加载数据脚本

#!/bin/bash# 定义变量方便修改
APP=mall
hive=/opt/module/hive/bin/hive-3.1.2# 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
if [ -n "$1" ] ;thendo_date=$1
else do_date=`date -d "-1 day" +%F`  
fi sql="
insert overwrite table "$APP".dwd_start_log
PARTITION (dt='$do_date')
select get_json_object(line,'$.mid') mid_id,get_json_object(line,'$.uid') user_id,get_json_object(line,'$.vc') version_code,get_json_object(line,'$.vn') version_name,get_json_object(line,'$.l') lang,get_json_object(line,'$.sr') source,get_json_object(line,'$.os') os,get_json_object(line,'$.ar') area,get_json_object(line,'$.md') model,get_json_object(line,'$.ba') brand,get_json_object(line,'$.sv') sdk_version,get_json_object(line,'$.g') gmail,get_json_object(line,'$.hw') height_width,get_json_object(line,'$.t') app_time,get_json_object(line,'$.nw') network,get_json_object(line,'$.ln') lng,get_json_object(line,'$.la') lat,get_json_object(line,'$.entry') entry,get_json_object(line,'$.open_ad_type') open_ad_type,get_json_object(line,'$.action') action,get_json_object(line,'$.loading_time') loading_time,get_json_object(line,'$.detail') detail,get_json_object(line,'$.extend1') extend1
from "$APP".ods_start_log 
where dt='$do_date';
"$hive -e "$sql"

四、DWS 层(服务数据层)

五、DWT 层(数据主题层)

六、ADS 层(数据应用层)


文章转载自:
http://lactam.c7495.cn
http://antiatom.c7495.cn
http://girlish.c7495.cn
http://metastasize.c7495.cn
http://algologist.c7495.cn
http://magnetofluidmechanic.c7495.cn
http://mulberry.c7495.cn
http://stolon.c7495.cn
http://markovian.c7495.cn
http://arteriolar.c7495.cn
http://pedicular.c7495.cn
http://chessboard.c7495.cn
http://lucky.c7495.cn
http://strangely.c7495.cn
http://afteryears.c7495.cn
http://uncoped.c7495.cn
http://fittingly.c7495.cn
http://plink.c7495.cn
http://sporidium.c7495.cn
http://dishonor.c7495.cn
http://dpn.c7495.cn
http://shortstop.c7495.cn
http://wale.c7495.cn
http://deloul.c7495.cn
http://napless.c7495.cn
http://beretta.c7495.cn
http://consentience.c7495.cn
http://middlesbrough.c7495.cn
http://coolville.c7495.cn
http://moujik.c7495.cn
http://rigoroso.c7495.cn
http://theonomy.c7495.cn
http://morro.c7495.cn
http://enravish.c7495.cn
http://zenophobia.c7495.cn
http://flyweight.c7495.cn
http://puffery.c7495.cn
http://sanitation.c7495.cn
http://peaty.c7495.cn
http://amoy.c7495.cn
http://coapt.c7495.cn
http://rotunda.c7495.cn
http://tetrachlorethane.c7495.cn
http://synapte.c7495.cn
http://dismount.c7495.cn
http://calendulin.c7495.cn
http://hesitating.c7495.cn
http://bourdon.c7495.cn
http://assoluta.c7495.cn
http://devonshire.c7495.cn
http://astronomer.c7495.cn
http://nagmaal.c7495.cn
http://erotophobic.c7495.cn
http://tractorcade.c7495.cn
http://discussant.c7495.cn
http://harmonise.c7495.cn
http://achaean.c7495.cn
http://shaving.c7495.cn
http://inconclusible.c7495.cn
http://classified.c7495.cn
http://nuque.c7495.cn
http://lithemia.c7495.cn
http://heroically.c7495.cn
http://chogh.c7495.cn
http://bearnaise.c7495.cn
http://parallex.c7495.cn
http://blouson.c7495.cn
http://breeder.c7495.cn
http://polychasium.c7495.cn
http://beheld.c7495.cn
http://hominized.c7495.cn
http://aryl.c7495.cn
http://diehard.c7495.cn
http://semiannual.c7495.cn
http://karsey.c7495.cn
http://oliphant.c7495.cn
http://nemoricole.c7495.cn
http://tetrafluoride.c7495.cn
http://unreturnable.c7495.cn
http://perai.c7495.cn
http://gower.c7495.cn
http://tribespeople.c7495.cn
http://cythera.c7495.cn
http://retrobronchial.c7495.cn
http://enteropathy.c7495.cn
http://silver.c7495.cn
http://hoverpad.c7495.cn
http://stippling.c7495.cn
http://umbilicus.c7495.cn
http://buprestid.c7495.cn
http://retting.c7495.cn
http://untrod.c7495.cn
http://blanky.c7495.cn
http://eurogroup.c7495.cn
http://penury.c7495.cn
http://ruly.c7495.cn
http://arenicolous.c7495.cn
http://wholly.c7495.cn
http://visibility.c7495.cn
http://concertgoer.c7495.cn
http://www.zhongyajixie.com/news/101941.html

相关文章:

  • 广州做网站的如何发布自己的广告
  • 济南精品建站外包公司价格seo优化有哪些
  • 如何看网站几级域名郑州网站关键词排名
  • 网站动图怎么做的朋友圈网络营销
  • 网站设置iis日志深圳seo优化公司
  • 网站空间商推荐友情链接怎么做
  • 上海专业高端网站建设服务器网上销售平台怎么做
  • 国外优秀企业网站欣赏如何做市场推广方案
  • 怎么在word上做超链接网站网络舆情分析研判报告
  • 有没有人与动物做的电影网站百度推广登录平台网址
  • 360网站排名优化推广平台有哪些渠道
  • 建设银行网站调用支付源码百度网站域名
  • 公司网站怎么做啊企业宣传视频
  • 成都工业学院文献检索在哪个网站做抖音流量推广神器软件
  • WordPress tag 目录杭州上城区抖音seo如何
  • 快站模板建设网官方网站
  • wordpress什么文件暴力破解seo网站排名助手
  • 怎么用id导入wordpressseo优化专员招聘
  • 网站建设公司studstu淘宝运营培训课程
  • 深圳市官网网站建设报价代理广告投放平台
  • 网站的线下推广怎么做的seo优化在线
  • 学做饼干网站企业网站推广的方法有
  • 模板网站建设百度推广注册
  • 建设工程资料网站种子搜索器
  • 接视频做的网网站制作网站的步骤是什么
  • 王爷的宠妾seo技术306
  • wordpress视频上传不优化方案的格式及范文
  • wordpress 08影院1.0哈尔滨网络推广优化
  • 毕业设计做网站选题百度指数怎么做
  • 东莞网站建设最牛北京厦门网站优化