网站服务费怎么做凭证,做网站 套用模板之后用什么改,泰州做房产的网站,小程序软件开发制作1 一个mapreduce进程会启动多少map进程多少reduce进程*
1#xff09;map数量由处理的数据分成的block数量决定default_num total_size / split_size; 2#xff09;reduce数量为job.setNumReduceTasks(x)中x 的大小。不设置的话默认为 1。
2 讲下shuffle的过程
shuffle分为…1 一个mapreduce进程会启动多少map进程多少reduce进程*
1map数量由处理的数据分成的block数量决定default_num total_size / split_size; 2reduce数量为job.setNumReduceTasks(x)中x 的大小。不设置的话默认为 1。
2 讲下shuffle的过程
shuffle分为map端和reduce端的工作。
MapTask工作机制
1Read阶段Map Task通过用户编写的RecordReader从输入InputSplit中解析出一个个key/value。 2Map阶段该节点主要是将解析出的key/value交给用户编写map()函数处理并产生一系列新的key/value。 3Collect收集阶段在用户编写map()函数中当数据处理完成后一般会调用OutputCollector.collect()输出结果。在该函数内部它会将生成的key/value分区调用Partitioner并写入一个环形内存缓冲区中。 4Spill阶段即“溢写”当环形缓冲区满后MapReduce会将数据写到本地磁盘上生成一个临时文件。需要注意的是将数据写入本地磁盘之前先要对数据进行一次本地排序并在必要时对数据进行合并、压缩等操作。5Combine阶段当所有数据处理完成后MapTask对所有临时文件进行一次合并以确保最终只会生成一个数据文件。
ReduceTask工作机制
1Copy阶段ReduceTask从各个MapTask上远程拷贝一片数据并针对某一片数据如果其大小超过一定阈值则写到磁盘上否则直接放到内存中。 2Merge阶段在远程拷贝数据的同时ReduceTask启动了两个后台线程对内存和磁盘上的文件进行合并以防止内存使用过多或磁盘上文件过多。 3Sort阶段按照MapReduce语义用户编写reduce()函数输入数据是按key进行聚集的一组数据。为了将key相同的数据聚在一起Hadoop采用了基于排序的策略。由于各个MapTask已经实现对自己的处理结果进行了局部排序因此ReduceTask只需对所有数据进行一次归并排序即可。4Reduce阶段reduce()函数将计算结果写到HDFS上。
3 常见的数据倾斜情况以及解决方案
空值引发的数据倾斜 解决方案 第一种可以直接不让null值参与join操作即不让null值有shuffle第二种因为null值参与shuffle时的hash结果是一样的那么我们可以给null值随机赋值这样它们的hash结果就不一样就会进到不同的reduce中不同数据类型引发的数据倾斜 解决方案 如果key字段既有string类型也有int类型默认的hash就都会按int类型来分配那我们直接把int类型都转为string就好了这样key字段都为stringhash时就按照string类型分配了不可拆分大文件引发的数据倾斜 解决方案 这种数据倾斜问题没有什么好的解决方案只能将使用GZIP压缩等不支持文件分割的文件转为bzip和zip等支持文件分割的压缩方式。 所以我们在对文件进行压缩时为避免因不可拆分大文件而引发数据读取的倾斜在数据压缩的时候可以采用bzip2和Zip等支持文件分割的压缩算法。数据膨胀引发的数据倾斜 解决方案 在Hive中可以通过参数 hive.new.job.grouping.set.cardinality 配置的方式自动控制作业的拆解该参数默认值是30。表示针对grouping sets/rollups/cubes这类多维聚合的操作如果最后拆解的键组合大于该值会启用新的任务去处理大于该值之外的组合。如果在处理数据时某个分组聚合的列有较大的倾斜可以适当调小该值。表连接时引发的数据倾斜 解决方案 通常做法是将倾斜的数据存到分布式缓存中分发到各个Map任务所在节点。在Map阶段完成join操作即MapJoin这避免了 Shuffle从而避免了数据倾斜。其他情况引发的数据倾斜 解决方案 这类问题最直接的方式就是调整reduce所执行的内存大小。 调整reduce的内存大小使用mapreduce.reduce.memory.mb这个配置。
4 HBase读写流程* HBase读写数据与操作流程https://zhuanlan.zhihu.com/p/373740211
5 星形模型的特点
维度表只和事实表关联维度表之间没有关联每个维度表的主码为单列且该主码放置在事实表中作为两边连接的外码以事实表为核心维度表围绕核心呈星形分布。
6 常见事实表几种特点周期形快照事实表的特点除了是数值形的还有什么*
一篇文章搞懂数据仓库三种事实表设计原则设计方法、对比-阿里云开发者社区一篇文章搞懂数据仓库三种事实表设计原则设计方法、对比https://developer.aliyun.com/article/931862#:~:text1%E3%80%81%E4%B8%89%E7%A7%8D%E4%BA%8B%E5%AE%9E%E8%A1%A8%E6%A6%82%E8%BF%B0%201%201.1%20%E4%BA%8B%E5%8A%A1%E4%BA%8B%E5%AE%9E%E8%A1%A8%20%E4%B9%9F%E7%A7%B0%E5%8E%9F%E5%AD%90%E4%BA%8B%E5%AE%9E%E8%A1%A8%EF%BC%8C%E6%8F%8F%E8%BF%B0%E4%B8%9A%E5%8A%A1%E8%BF%87%E7%A8%8B%EF%BC%8C%E8%B7%9F%E8%B8%AA%E6%8E%A7%E4%BB%B6%E6%88%96%E6%97%B6%E9%97%B4%E4%B8%8A%E6%9F%90%E7%82%B9%E7%9A%84%E5%BA%A6%E9%87%8F%E4%BA%8B%E4%BB%B6%EF%BC%8C%E4%BF%9D%E5%AD%98%E7%9A%84%E6%98%AF%E6%9C%80%E5%8E%9F%E5%AD%90%E7%9A%84%E6%95%B0%E6%8D%AE%EF%BC%9B%20%E4%B8%AA%E4%BA%BA%E7%90%86%E8%A7%A3%EF%BC%9A%E7%B1%BB%E4%BC%BC%E4%BA%8Emysql%20binlog%E6%97%A5%E5%BF%97%EF%BC%8C%E6%AF%8F%E4%B8%80%E6%AC%A1%E7%9B%B8%E5%85%B3%E7%9A%84%20change,%E4%B8%AA%E4%BA%BA%E7%90%86%E8%A7%A3%EF%BC%9A%E8%A6%81%E7%9C%8B%E6%95%B4%E4%B8%AA%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E7%9A%84%E5%A4%9A%E4%B8%AA%E4%B8%9A%E5%8A%A1%E8%BF%87%E7%A8%8B%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%E5%88%9B%E5%BB%BA%E8%AE%A2%E5%8D%95%20%E2%86%92%20%E4%B9%B0%E5%AE%B6%E4%BB%98%E6%AC%BE%20%E2%86%92%20%E5%8D%96%E5%AE%B6%E5%8F%91%E8%B4%A7%20%E2%86%92%20%E4%B9%B0%E5%AE%B6%E7%A1%AE%E8%AE%A4%E6%94%B6%E8%B4%A7%E3%80%82%20
7 主题域划分的思路*
按部门划分、按业务线划分、按业务系统划分、按业务过程划分。
8 数仓建模6连细问项目 有负责过具体某个域或者某个主题的开发吗一共化了几个主题域挑一个讲一讲做了哪个域的建设负责了哪些业务过程一致性纬度有哪些建了哪些表描述下总线矩阵一边是业务过程、一边是一致性维度dwd是怎么建设用户下单有很多流水是什么类型的事实表有哪些维表 按照业务系统划分先按系统划分一级主题域再按系统各自的菜单也就是子系统划分二级主题域例如主要的订票APP实际上有订票系统还有积分系统值机系统抽奖活动系统等等。 我来介绍下我做过的托运系统的主题域其业务过程大致如下创建订单订单维度订单id、流水号、订单号、下单时间、客户维度用户昵称、用户真实姓名、用户性别、用户身份证号、用户出生日期、航班维度起飞机场名称、起飞城市id、到达机场、名称、是否转机、城市维度-买家付款-客户值机打印登机牌上的信息有城市维度、客户维度、-航班起飞-航班降落-用户服务。 公共维度有城市维度客户值机、航班起飞航班降落、客户维度创建订单、用户服务、机长维度、乘务员维、机场维度、航班维度。
9 数据治理做了哪些工作*
数据治理分为四个实施步骤统筹规划→管理实施→稽核检查→资产运营我主要参与了前两个步骤在第一步统筹规划中我的主要工作在盘点数据资产其主要针对元数据根据大数据之路的第12章将元数据分成两类技术性元数据和业务形元数据然后针对业务形元数据梳理血缘图谱并给元数据打标签。在第二步工作中我主要通过计算统计量对数据质量做出评估计算空值的比例计算空值字段较多的比例计算有效字段的中位数和众数当空值达到一定比例时认为该字段无效遵循3西格玛准则大于5%无效 10 手撕SQL两道题
1.某一天的新用户。
窗口函数row_number()
2.连续7天登录的客户。*
先去重、再row_number()开窗、日期-rnk、最后group by id、rnk having count(*)7