96SEO 2026-02-20 07:34 17
(2)ODS层要保存全部历史数据,故其压缩格式应选择压缩比率,较高的,此处选择gzip。

(1)ODS层的表结构设计依托于从业务系统同步过来的数据结构。
(2)ODS层要保存全部历史数据,故其压缩格式应选择压缩比率,较高的,此处选择gzip。
的表中。
系统会自动检测压缩格式,并在查询执行时即时解压缩文件。
大数据场景需要海量的数据,因为数据量足够大,分析出来的结果更即准确。
(3)ODS层表名的命名规范为:ods_表名_单分区增量全量标识(inc/full)。
存储从MySQL业务数据库和日志服务器的日志文件中采集到的数据
全量:DataX,TSV格式,"fieldDelimiter":
压缩:列式存储压缩起来比较方便,因为行存不能保证一行的数据类型是一致的,不同类型的数据采用的压缩算法和效率不一样,列式存储可以保证一列的数据类型一致,因此列式存储在压缩效率上会高一些。
gzip:Hadoop默认支持,压缩率极高,压缩速率(压缩、解压缩)低
lzo:Hadoop默认不支持,需要额外的jar包,压缩率高,压缩速率居中,支持切片(额外索引)
snappy:Hadoop默认不支持,需要额外配置,压缩率低,压缩速率极高
压缩方式的选择:gzip,ODS层主要功能为存储,不需要计算,因此对压缩速率要求不高,反而对压缩率要求高(更少的空间存更多的数据)
数据压缩格式尽可能保持不变(采集通道采用gzip压缩,这里也选择gzip压缩)
在数据仓库中,表其实都是放置在一起的,从逻辑上进行区分,进行分层
EXTERNAL,创建外部表,目的是在测试阶段可能会频繁修改表结构来验证问题,
如果使用内部表,删除表的时候会删除数据,因此为了避免重复上传测试数据,采用外部表,外部表在删除表的时候数据不会删除。
BY:底层采用很多文件进行保存大量数据,一旦文件大数据多时会影响查询效率,可以通过建立分区的操作,提高查询效率。
hive的分区表,实际是在表,子的划分,不会存储到数据文件中。
虽然分区字段只是用来区分子目录的,但是在管理表的时候会当作字段来处理,因此在插入数据到分区表的时候需要补充分区字段。
这样写容易让人产生一个表有两个字段的错觉,可以换成下面的写法:
分区字段不赋值,查询字段在最后增加一个额外的字段用于分区操作。
默认情况下,hive没有开启动态分区处理(strict),需要设置为非严格模式(nonstrict)
hive.exec.dynamic.partition.mode=strict;
hive.exec.dynamic.partition.mode=nonstrict;
严格限定查询语句中必须带分区字段的筛选条件,否则不能执行Query,因为数据量太大。
hive.strict.checks.no.partition.filter
'org.apache.hadoop.hive.serde2.JsonSerDe',才能正常解析JSON
如果Hive表可以解析JSON格式的数据,那么一般就称之为JSON表
(2)如果JSON属性少于表的字段,那么存在的属性可以正常解析,不存在的字段设置为空null
表的字段没有一一对应,但是查询的时候也不会报错,能正常解析的就正常解析,解析不了的用“null”补充。
'org.apache.hadoop.hive.serde2.JsonSerDe'
'obs://bigdata-test1233/seven/warehouse313/gmall/test_log';
建表完成之后,将编写好的json文本复制到表路径下,就可以正常查询了
JSON表中存在JSON嵌套的情况,一般会将最外层的JSON对象的属性作为JSON表的字段
表的字段类型应该采用特殊类型:array,map,struct
超出索引长度,不会报错,而是用null补充array(ids[1],ids[2])
可以取出数组的一部分组成新的数组array_contains(ids,
判断元素是否存在于数组中:array_contains(数组名,元素)
判断元素是否存在于数组中:array_contains(数组名,元素)
构建结构体的函数:struct(),会将所有数据作为属性值存储,属性名用col1...coln
返回:{"col1":"a","col2":"b","col3":"c"}
(1)泛型,可以根据数据的类型来选择使用map还是struct,如果数据类型要求一致,选择map,如果数据类型不一致,选择struct。
(3)map中的key的数量不是固定的,可以动态改变;而结构体的属性不能变化
'org.apache.hadoop.hive.serde2.JsonSerDe'
'/warehouse/gmall/ods/ods_log_inc/'
('compression.codec'='org.apache.hadoop.io.compress.GzipCodec');
ARRAYSTRUCTaction_id:STRING,item:STRING,item_type:STRING,ts:BIGINT
STRUCTerror_code:BIGINT,msg:STRING
'org.apache.hadoop.hive.serde2.JsonSerDe'
'obs://bigdata-test1233/seven/warehouse313/gmall/ods/ods_log_inc/'
('compression.codec'='org.apache.hadoop.io.compress.GzipCodec');
'/origin_data/gmall/log/topic_log/2022-06-08'
'obs://bigdata-test1233/origin_data/gmall/log/topic_log/2022-06-08/'
(1)在~/bin目录下创建hdfs_to_ods_log.sh
如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
'obs://bigdata-test1233/origin_data/$APP/log/topic_log/$do_date'
'/warehouse/gmall/ods/ods_activity_info_full/'
('compression.codec'='org.apache.hadoop.io.compress.GzipCodec');
'/warehouse/gmall/ods/ods_activity_rule_full/'
('compression.codec'='org.apache.hadoop.io.compress.GzipCodec');
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback