若依导出自定义数据处理器

我在编写导出的时候,由于若依的Excel注解基本功能不满足我的需求

  • 比如说我想导出这种样式,30和31天导出时全勤,其他天数显示原本天数
    在这里插入图片描述
  • 遂了解若依自定义数据处理器

1.首先来到实体类

  • 给注解加上handler和args
    /** 出勤情况 */
    @Excel(name = "出勤情况", sort = 3, handler = AttendanceHandlerAdapter.class, args = {"全勤"})
    private Long attendanceDay;

2.来到我们自己编写并实现的类

/**
 * 自定义导出Excel数据格式   全勤
 */
public class AttendanceHandlerAdapter implements  ExcelHandlerAdapter{
    @Override
    public Object format(Object value, String[] args) {
        Long cellValue = (Long) value;
        if (cellValue.equals(30L) || cellValue.equals(31L)) {
            return args[0];
        }
        return value + "天";
    }
}

形参的意义

/**
 * 格式化
 * 
 * @param value 单元格数据值		实体类字段内值
 * @param args excel注解args参数组	用于传参的数组,可不用
 *
 * @return 处理后的值  也就是导出的Excel的值
 */

3.然后我们导出结果成功

在这里插入图片描述

Hadoop和Storm是两个互补的分布式计算框架,常用于大规模数据处理和实时流处理。Hadoop主要关注批处理,而Storm则专注于实时事件驱动的数据处理。将数据从Hadoop(通常存储在HDFS或MapReduce任务的输出中)导出到Storm,通常涉及以下几个步骤: 1. 数据读取:使用Hadoop的HDFS API(如Hadoop Streaming或Hadoop MapReduce)从Hadoop集群中读取数据。你可以编写自定义的mapper、reducer或使用工具如`distcp`或`hadoop fs -get`。 2. 数据格式转换:如果Hadoop中的数据不是Storm可以直接消费的格式(如JSON或Kafka),可能需要进行数据清洗和格式转换,这可以通过脚本或外部工具(如Flume或Avro解码器)来实现。 3. Storm数据导入:创建一个Storm Topology,这个Topology通常包含Spout(读取器)来接收数据,Bolts(处理器)进行处理,并可能有Sink(如Kafka或RabbitMQ)来持久化处理结果。你可以通过Storm的API(如Storm Core或Twill)或者第三方库(如storm-starter)来构建这样的拓扑。 4. 集成:确保Hadoop和Storm集群之间有良好的网络连接,并且Hadoop数据源和Storm都部署在同一数据中心或有高可用的网络连接。 相关问题: 1. Hadoop Streaming如何配合使用? 2. 如何在Storm中配置Spout和Bolt之间的数据传输? 3. Storm有哪些常用的数据源和sink选项? 4. 如何保证在大规模数据迁移过程中的数据一致性?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值