Spark菜鸟学习营Day4 单元测试程序的编写

本文详细介绍如何为Spark应用程序编写单元测试,包括需求分析、测试案例创建、输入与输出数据准备等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark菜鸟学习营Day4

单元测试程序的编写

Spark相比于传统代码是比较难以调试的,单元测试的编写是非常必要的。

Step0:需求分析

在测试案例编写前,需完成需求分析工作,明确程序所有的输入和输出情况。
具体请见需求分析章节。

Step1:新建测试案例

测试案例统一放置在如下位置:
compute-->src-->test-->java-->com.icbc.aas.darts.compute-->split.processor
2016-07-26 16-56-36

选择New-->Java Class,在窗口中,输入测试代码名称,Kind选择ProcessorTest
2016-07-26 16-58-02

如果无法选到ProcessorTest,请在Settings-->File and Code Template,右上角选择Project
2016-07-26 17-01-00

在生成的测试案例代码中,首先完善addParams方法。
2016-07-26 17-02-22

Step2:输入数据准备

针对每个输入数据,循环以下步骤:

Step2.1:pojo(Java数据结构)建立

运行PojoMaker工具
2016-07-26 17-03-48

根据提示,完成pojo的建立
2016-07-26 17-04-49

Step2.2:数据文件建立

运行DataPrepareUtil工具。
2016-07-26 17-05-38

根据提示,从Oracle取数生成数据文件。
其中,suffix为文件名后缀,用于防止文件互相冲突,建议与代码编号一致。
2016-07-26 17-06-30

文件保存在如下路径中
2016-07-26 17-09-45

Step2.3:执行数据准备

在prepareData方法中,调用API,执行数据准备。

    @Override
    public void prepareData(ComputeBatchNode cbn, JavaSparkContext sc, Hashtable params, ComputeResult result) {
        //Dateframe:qtsl_temp
        mockSparkTempTable("QTSL_TEMP", "_600", cbn);

        //Dataframe:par_fund_partner
        mockSparkTempTable("PAR_FUND_PARTNER", "_600", cbn);

        //Oracle表:out_trd_qtsl_his
        mockMybatisTempTable("splitSqlMapper.getQtslHis", "OUT_TRD_QTSL_HIS_600");

        //RDD:qtsl_temp
        mockSparkRDD("QTSL_TEMP", "_600", cbn, QtslTempPojo.class);

        //RDD:par_fund_fill_partner
        mockSparkRDD("PAR_SYS_FILL_PARTNER", "_600", cbn, ParSysFillPartnerPojo.class);

        doPrepareData(cbn, params);
    }

Step3:输出数据准备

转载于:https://www.cnblogs.com/dt-zhw/p/5837307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值