【单线分离指标源码】【php框架源码解析视频】【app源码从哪里下载】5.1源码

2024-11-26 14:52:49 来源:tightvnc源码解读 分类:时尚

1.大数据笔试真题集锦---第五章:Hive面试题
2.UE5.1卡通渲染管线修改 学习笔记(改源码版)

5.1源码

大数据笔试真题集锦---第五章:Hive面试题

       我会不间断地更新维护,源码希望对正在寻找大数据工作的源码朋友们有所帮助。

       第五章目录

       第五章 Hive

       5.1 Hive 运行原理(源码级)

       1.1 reduce端join

       在reduce端,源码对两个表的源码数据分别标记tag,发送数据。源码根据分区分组规则获取相同key的源码单线分离指标源码数据,再根据tag进行join操作,源码完成实际连接。源码

       1.2 map端join

       将小表复制到每个map task的源码内存中,仅扫描大表,源码对大表中key在小表中存在时进行join操作。源码使用DistributedCache.addCacheFile设置小表,源码通过标准IO获取数据。源码

       1.3 semi join

       先将参与join的源码表1的key复制到表3中,复制多份到各map task,源码php框架源码解析视频过滤不在新表3的表2数据,最后进行reduce。

       5.2 Hive 建表

5.3.1 传统方式建表

       定义数据类型,如:TINYINT, STRING, TIMESTAMP, DECIMAL。

       使用ARRAY, MAP, STRUCT结构。

5.3.2 CTAS查询建表

       创建表时指定表名、存储格式、数据来源查询语句。

       缺点:默认数据类型范围限制。

5.3.3 Like建表

       通过复制已有表的结构来创建新表。

5.4 存储格式和压缩格式

       选择ORC+bzip/gzip作为源存储,ORC+Snappy作为中间存储。

       分区表单文件不大采用gzip压缩,桶表使用bzip或lzo支持分片压缩。app源码从哪里下载

       设置压缩参数,如"orc.compress"="gzip"。

5.5 内部表和外部表

       外部表使用external关键字和指定HDFS目录创建。

       内部表在创建时生成对应目录的文件夹,外部表以指定文件夹为数据源。

       内部表删除时删除整个文件夹,外部表仅删除元数据。

5.6 分区表和分桶表

       分区表按分区字段拆分存储,避免全表查询,提高效率。

       动态分区通过设置参数开启,根据字段值决定分区。

       分桶表依据分桶字段hash值分组拆分数据。

5.7 行转列和列转行

       行转列使用split、ocr文字识别app源码explode、laterview,列转行使用concat_ws、collect_list/set。

5.8 Hive时间函数

       from_unixtime、unix_timestamp、to_date、month、weekofyear、quarter、trunc、current_date、date_add、date_sub、nrf905 51源码datediff。

       时间戳支持转换和截断,标准格式为'yyyy-MM-dd HH:mm:ss'。

       month函数基于标准格式截断,识别时截取前7位。

5.9 Hive 排名函数

       row_number、dense_rank、rank。

5. Hive 分析函数:Ntile

       效果:排序并分桶。

       ntile(3) over(partition by A order by B)效果,可用于取前%数据统计。

5. Hive 拉链表更新

       实现方式和优化策略。

5. Hive 排序

       order by、order by limit、sort by、sort by limit的原理和应用场景。

5. Hive 调优

       减少distinct、优化map任务数量、并行度优化、小文件问题解决、存储格式和压缩格式设置。

5. Hive和Hbase区别

       Hive和Hbase的区别,Hive面向分析、高延迟、结构化,Hbase面向编程、低延迟、非结构化。

5. 其他

       用过的开窗函数、表join转换原理、sort by和order by的区别、交易表查询示例、登录用户数量查询、动态分区与静态分区的区别。

UE5.1卡通渲染管线修改 学习笔记(改源码版)

       UE5.1的卡通渲染管线修改笔记

       起始于提升MMD制作质量的需求,从C4D的octane到Blender的Eevee和Cycle,再到现在的UE5,探索了各种卡渲方法,包括后处理和自发光。现在转向直接修改源码,回顾过去发现自己的学习路径混乱,缺乏记录,因此决定补写这篇学习笔记,以供参考。

       在探索过程中,我借鉴了前辈们在卡通渲染领域的成果,通过预加载ToonShaderShadowAtlas和ToonShaderSpecularAtlas两个曲线图谱,以及相应的Sampler和高度参数。添加ShadingModel时,我选择了Toon、ToonSSP和ToonSDF,涉及了阴影重映射、高光重映射,以及整体阴影着色的优化。

       对于KajiyaKai高光,我利用Anisotropy作为输入,并通过一个参数控制是否启用。SDF阴影着色方面,尝试将算法内置Shader以解决现有问题,尽管初期尝试受限。扩展GBuffer以适应新增ShadingModel的需求,特别关注了ToonData的处理。

       在Material文件夹中,我创建了MaterialExpressionToonShaderCustomOutput,结合ToonCurve选择、环境反射、SDF输入等功能,实现了定制化的输出。同时,我还注意到了Lumen修正和BackFace方案的选用。

       UE5.1版本中,修改CreateToonOutLinePassProcessor是关键步骤,以处理超过个Pass的问题。尽管扩展ShadingModel上限的方案暂未使用,但已做了相关笔记,涉及GBufferInfo、ShaderGenerationUtil和EngineType的改动。

       总结来说,本文记录了从理论学习到实践应用的UE5.1卡通渲染管线修改过程,供后来者参考和学习。

本文地址:http://0553.net.cn/news/26a720992764.html 欢迎转发