MR_shuffle流程笔记

在这里插入图片描述

下面是我一些对流程源码的理解
还是WordCount案例,进入到context.write()方法
在这里插入图片描述
进入到mapContext.write()方法在这里插入图片描述
进入到write方法
在这里插入图片描述
在进入到write方法
在这里插入图片描述
可以看到有一个collectorc.collect()方法
其中getPartition()作用是获得当前数据的分区号
我们进入这个方法
在这里插入图片描述
因为我自定义了partition并指定了分区类
所以执行的是我重写过的getPartition方法
如果没有重写或者指定分区类,那么就会执行默认的getPartition方法
在这里插入图片描述
返回,我们进入到collect方法,作用是序列化key和value(方法很长,直接截取序列化片段)在这里插入图片描述
在这里插入图片描述
未完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用map方法将给定列表的每个元素对象格式化为单独的一行,示例代码如下: ``` const columns = [ { title: 'ID', dataIndex: 'mr_id', key: 'mr_id' }, { title: '指纹ID', dataIndex: 'mr_gene_id', key: 'mr_gene_id' }, { title: '样品条码号', dataIndex: 'mr_sample', key: 'mr_sample' }, { title: 'DNA条码号', dataIndex: 'mr_dna', key: 'mr_dna' }, { title: '引物名称', dataIndex: 'mr_primer', key: 'mr_primer' }, { title: '荧光编号', dataIndex: 'mr_dye', key: 'mr_dye' }, { title: '分型类型', dataIndex: 'mr_type', key: 'mr_type' }, { title: '分型', dataIndex: 'mr_genotype', key: 'mr_genotype' }, { title: '种属', dataIndex: 'mr_species', key: 'mr_species' }, { title: '电泳板条码号', dataIndex: 'mr_plate', key: 'mr_plate' }, { title: '孔位号', dataIndex: 'mr_well', key: 'mr_well' }, { title: '状态', dataIndex: 'mr_status', key: 'mr_status' }, { title: '所属人', dataIndex: 'mr_manager', key: 'mr_manager' }, { title: '创建日期', dataIndex: 'mr_create_date', key: 'mr_create_date' }, { title: '更新日期', dataIndex: 'mr_update_date', key: 'mr_update_date' }, { title: '图谱的OCR信息', dataIndex: 'mr_ocr', key: 'mr_ocr' }, { title: '图谱路径', dataIndex: 'mr_file', key: 'mr_file' }, { title: '备注', dataIndex: 'mr_comments', key: 'mr_comments' }, ]; const formattedColumns = columns.map((column) => { return { title: column.title, dataIndex: column.dataIndex, key: column.key, }; }); console.log(formattedColumns); ``` 这样,您就可以将给定列表的每个元素对象数据格式到单独的一行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值