From 2c5af645576f997f1ef51de4ba852a73aa4f0cf1 Mon Sep 17 00:00:00 2001 From: fly6516 Date: Mon, 3 Mar 2025 10:39:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E5=A4=A7=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AE=9E=E9=AA=8C2-=20=E6=B7=BB=E5=8A=A0=20Hadoop=20M?= =?UTF-8?q?apReduce=E7=A8=8B=E5=BA=8F=EF=BC=8C=E8=AE=A1=E7=AE=97=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=BB=B4=E5=BA=A6=E7=9A=84=E7=94=B5=E5=8A=9B=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=83=85=E5=86=B5=20-=20=E6=96=B0=E5=A2=9E=20AnnualIn?= =?UTF-8?q?dustrialPowerMapper=20=E5=92=8C=20AnnualIndustrialPowerReducer?= =?UTF-8?q?=20=E7=B1=BB=20-=20=E6=96=B0=E5=A2=9E=20MonthlyResidentialPower?= =?UTF-8?q?Mapper=20=E5=92=8C=20MonthlyResidentialPowerReducer=20=E7=B1=BB?= =?UTF-8?q?=20-=20=E5=AE=9E=E7=8E=B0=20Main=20=E7=B1=BB=EF=BC=8C=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E4=B8=89=E4=B8=AA=20MapReduce=20=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E8=A1=8C=E9=80=BB=E8=BE=91=20-=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=20App=20=E5=92=8C?= =?UTF-8?q?=20AppTest=20-=20=E5=88=9B=E5=BB=BA=E9=A1=B9=E7=9B=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E5=A6=82=20pom.xml?= =?UTF-8?q?=E3=80=81.gitignore=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 38 ++ .idea/.gitignore | 8 + .idea/misc.xml | 39 ++ .idea/vcs.xml | 6 + pom.xml | 25 + power_load.csv | 631 ++++++++++++++++++ .../java/AnnualIndustrialPowerMapper.java | 20 + .../java/AnnualIndustrialPowerReducer.java | 19 + src/main/java/Main.java | 63 ++ .../java/MonthlyResidentialPowerMapper.java | 23 + .../java/MonthlyResidentialPowerReducer.java | 19 + .../java/ProvinceMaxDailyPowerMapper.java | 24 + .../java/ProvinceMaxDailyPowerReducer.java | 26 + src/main/java/org/example/App.java | 13 + src/test/java/org/example/AppTest.java | 38 ++ 15 files changed, 992 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 pom.xml create mode 100644 power_load.csv create mode 100644 src/main/java/AnnualIndustrialPowerMapper.java create mode 100644 src/main/java/AnnualIndustrialPowerReducer.java create mode 100644 src/main/java/Main.java create mode 100644 src/main/java/MonthlyResidentialPowerMapper.java create mode 100644 src/main/java/MonthlyResidentialPowerReducer.java create mode 100644 src/main/java/ProvinceMaxDailyPowerMapper.java create mode 100644 src/main/java/ProvinceMaxDailyPowerReducer.java create mode 100644 src/main/java/org/example/App.java create mode 100644 src/test/java/org/example/AppTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..58866e1 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + Code style issuesJava + + + InternationalizationJava + + + Java + + + JavadocJava + + + + + User defined + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..1e16e75 --- /dev/null +++ b/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + + org.example + BD-exp-2 + 1.0-SNAPSHOT + jar + + BD-exp-2 + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + diff --git a/power_load.csv b/power_load.csv new file mode 100644 index 0000000..bf21761 --- /dev/null +++ b/power_load.csv @@ -0,0 +1,631 @@ +2023-01-01,BJ,Peak-Period,Industrial-Power-Usage,12.5 +2023-01-01,SH,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-01-01,GD,Peak-Period,Commercial-Power-Usage,15.2 +2023-01-02,JS,Peak-Period,Industrial-Power-Usage,18.7 +2023-01-02,ZJ,Off-Peak-Period,Residential-Power-Usage,9.4 +2023-01-03,SD,Peak-Period,Industrial-Power-Usage,22.1 +2023-01-03,HN,Off-Peak-Period,Commercial-Power-Usage,10.6 +2023-01-04,SC,Peak-Period,Industrial-Power-Usage,14.8 +2023-01-04,HB,Off-Peak-Period,Residential-Power-Usage,7.9 +2023-01-05,HN,Peak-Period,Commercial-Power-Usage,13.5 +2023-01-05,AH,Off-Peak-Period,Industrial-Power-Usage,16.3 +2023-01-06,HB,Peak-Period,Residential-Power-Usage,8.7 +2023-01-06,FJ,Off-Peak-Period,Commercial-Power-Usage,11.4 +2023-01-07,SX,Peak-Period,Industrial-Power-Usage,19.6 +2023-01-07,JX,Off-Peak-Period,Residential-Power-Usage,9.1 +2023-01-08,LN,Peak-Period,Commercial-Power-Usage,12.8 +2023-01-08,YN,Off-Peak-Period,Industrial-Power-Usage,17.2 +2023-01-09,SHX,Peak-Period,Residential-Power-Usage,8.5 +2023-01-09,GZ,Off-Peak-Period,Commercial-Power-Usage,10.9 +2023-01-10,HLJ,Peak-Period,Industrial-Power-Usage,20.4 +2023-01-10,JL,Off-Peak-Period,Residential-Power-Usage,7.8 +2023-01-11,GS,Peak-Period,Commercial-Power-Usage,14.3 +2023-01-11,XJ,Off-Peak-Period,Industrial-Power-Usage,18.1 +2023-01-12,NMG,Peak-Period,Residential-Power-Usage,9.2 +2023-01-12,GXI,Off-Peak-Period,Commercial-Power-Usage,11.7 +2023-01-13,NX,Peak-Period,Industrial-Power-Usage,16.8 +2023-01-13,QH,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-01-14,HAIN,Peak-Period,Commercial-Power-Usage,13.9 +2023-01-14,XZ,Off-Peak-Period,Industrial-Power-Usage,15.6 +2023-01-15,TJ,Peak-Period,Residential-Power-Usage,8.4 +2023-01-15,CQ,Off-Peak-Period,Commercial-Power-Usage,12.3 +2023-01-17,BJ,Off-Peak-Period,Industrial-Power-Usage,17.5 +2023-01-18,SH,Peak-Period,Residential-Power-Usage,8.9 +2023-01-18,GD,Off-Peak-Period,Commercial-Power-Usage,10.2 +2023-01-19,JS,Peak-Period,Industrial-Power-Usage,21.3 +2023-01-19,ZJ,Off-Peak-Period,Residential-Power-Usage,9.5 +2023-01-20,SD,Peak-Period,Commercial-Power-Usage,13.1 +2023-01-20,HN,Off-Peak-Period,Industrial-Power-Usage,16.7 +2023-01-21,SC,Peak-Period,Residential-Power-Usage,8.2 +2023-01-21,HB,Off-Peak-Period,Commercial-Power-Usage,11.9 +2023-01-22,HN,Peak-Period,Industrial-Power-Usage,18.9 +2023-01-22,AH,Off-Peak-Period,Residential-Power-Usage,7.7 +2023-01-23,HB,Peak-Period,Commercial-Power-Usage,12.5 +2023-01-23,FJ,Off-Peak-Period,Industrial-Power-Usage,17.8 +2023-01-24,SX,Peak-Period,Residential-Power-Usage,8.6 +2023-01-24,JX,Off-Peak-Period,Commercial-Power-Usage,10.4 +2023-01-25,LN,Peak-Period,Industrial-Power-Usage,19.7 +2023-01-25,YN,Off-Peak-Period,Residential-Power-Usage,9.3 +2023-01-26,SHX,Peak-Period,Commercial-Power-Usage,13.6 +2023-01-26,GZ,Off-Peak-Period,Industrial-Power-Usage,16.4 +2023-01-27,HLJ,Peak-Period,Residential-Power-Usage,8.1 +2023-01-27,JL,Off-Peak-Period,Commercial-Power-Usage,11.2 +2023-01-28,GS,Peak-Period,Industrial-Power-Usage,20.1 +2023-01-28,XJ,Off-Peak-Period,Residential-Power-Usage,7.5 +2023-01-29,NMG,Peak-Period,Commercial-Power-Usage,14.2 +2023-01-29,GXI,Off-Peak-Period,Industrial-Power-Usage,18.5 +2023-01-30,NX,Peak-Period,Residential-Power-Usage,8.8 +2023-01-30,QH,Off-Peak-Period,Commercial-Power-Usage,10.7 +2023-01-31,HAIN,Peak-Period,Industrial-Power-Usage,17.4 +2023-01-31,XZ,Off-Peak-Period,Residential-Power-Usage,9.0 +2023-02-01,TJ,Peak-Period,Commercial-Power-Usage,13.3 +2023-02-01,CQ,Off-Peak-Period,Industrial-Power-Usage,16.9 +2023-02-03,BJ,Off-Peak-Period,Residential-Power-Usage,7.4 +2023-02-04,SH,Peak-Period,Commercial-Power-Usage,14.5 +2023-02-04,GD,Off-Peak-Period,Industrial-Power-Usage,18.3 +2023-02-05,JS,Peak-Period,Residential-Power-Usage,9.6 +2023-02-05,ZJ,Off-Peak-Period,Commercial-Power-Usage,10.8 +2023-02-06,SD,Peak-Period,Industrial-Power-Usage,20.7 +2023-02-06,HN,Off-Peak-Period,Residential-Power-Usage,7.9 +2023-02-07,SC,Peak-Period,Commercial-Power-Usage,13.8 +2023-02-07,HB,Off-Peak-Period,Industrial-Power-Usage,17.1 +2023-02-08,HN,Peak-Period,Residential-Power-Usage,8.0 +2023-02-08,AH,Off-Peak-Period,Commercial-Power-Usage,12.1 +2023-02-09,HB,Peak-Period,Industrial-Power-Usage,19.5 +2023-02-09,FJ,Off-Peak-Period,Residential-Power-Usage,9.2 +2023-02-10,SX,Peak-Period,Commercial-Power-Usage,14.0 +2023-02-10,JX,Off-Peak-Period,Industrial-Power-Usage,16.6 +2023-02-11,LN,Peak-Period,Residential-Power-Usage,8.4 +2023-02-11,YN,Off-Peak-Period,Commercial-Power-Usage,11.3 +2023-02-12,GS,Peak-Period,Industrial-Power-Usage,21.4 +2023-02-12,XJ,Off-Peak-Period,Residential-Power-Usage,7.8 +2023-02-13,NMG,Peak-Period,Commercial-Power-Usage,15.6 +2023-02-13,GXI,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-02-14,NX,Peak-Period,Residential-Power-Usage,8.5 +2023-02-14,QH,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-02-15,HAIN,Peak-Period,Industrial-Power-Usage,17.9 +2023-02-15,XZ,Off-Peak-Period,Residential-Power-Usage,9.1 +2023-02-16,TJ,Peak-Period,Commercial-Power-Usage,13.4 +2023-02-16,CQ,Off-Peak-Period,Industrial-Power-Usage,18.2 +2023-02-18,BJ,Off-Peak-Period,Residential-Power-Usage,7.6 +2023-02-19,SH,Peak-Period,Commercial-Power-Usage,14.6 +2023-02-19,GD,Off-Peak-Period,Industrial-Power-Usage,18.5 +2023-02-20,JS,Peak-Period,Residential-Power-Usage,9.7 +2023-02-20,ZJ,Off-Peak-Period,Commercial-Power-Usage,10.9 +2023-02-21,SD,Peak-Period,Industrial-Power-Usage,20.8 +2023-02-21,HN,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-02-22,SC,Peak-Period,Commercial-Power-Usage,13.9 +2023-02-22,HB,Off-Peak-Period,Industrial-Power-Usage,17.3 +2023-02-23,HN,Peak-Period,Residential-Power-Usage,8.1 +2023-02-23,AH,Off-Peak-Period,Commercial-Power-Usage,12.2 +2023-02-24,HB,Peak-Period,Industrial-Power-Usage,19.6 +2023-02-24,FJ,Off-Peak-Period,Residential-Power-Usage,9.3 +2023-02-25,SX,Peak-Period,Commercial-Power-Usage,14.1 +2023-02-25,JX,Off-Peak-Period,Industrial-Power-Usage,16.7 +2023-02-26,LN,Peak-Period,Residential-Power-Usage,8.5 +2023-02-26,YN,Off-Peak-Period,Commercial-Power-Usage,11.4 +2023-02-27,SHX,Peak-Period,Industrial-Power-Usage,20.2 +2023-02-27,GZ,Off-Peak-Period,Residential-Power-Usage,7.7 +2023-02-28,HLJ,Peak-Period,Commercial-Power-Usage,13.7 +2023-02-28,JL,Off-Peak-Period,Industrial-Power-Usage,17.5 +2023-03-01,GS,Peak-Period,Residential-Power-Usage,8.2 +2023-03-01,XJ,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-03-02,NMG,Peak-Period,Industrial-Power-Usage,18.9 +2023-03-02,GXI,Off-Peak-Period,Residential-Power-Usage,9.0 +2023-03-03,NX,Peak-Period,Commercial-Power-Usage,14.8 +2023-03-03,QH,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-03-04,HAIN,Peak-Period,Residential-Power-Usage,8.4 +2023-03-04,XZ,Off-Peak-Period,Commercial-Power-Usage,11.8 +2023-03-05,TJ,Peak-Period,Industrial-Power-Usage,20.5 +2023-03-05,CQ,Off-Peak-Period,Residential-Power-Usage,7.9 +2023-03-07,BJ,Off-Peak-Period,Commercial-Power-Usage,12.0 +2023-03-08,SH,Peak-Period,Industrial-Power-Usage,21.0 +2023-03-08,GD,Off-Peak-Period,Residential-Power-Usage,7.5 +2023-03-09,JS,Peak-Period,Commercial-Power-Usage,14.3 +2023-03-09,ZJ,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-03-10,SD,Peak-Period,Residential-Power-Usage,9.8 +2023-03-10,HN,Off-Peak-Period,Commercial-Power-Usage,11.0 +2023-03-11,SC,Peak-Period,Industrial-Power-Usage,20.9 +2023-03-11,HB,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-03-12,HN,Peak-Period,Commercial-Power-Usage,14.0 +2023-03-12,AH,Off-Peak-Period,Industrial-Power-Usage,17.6 +2023-03-13,HB,Peak-Period,Residential-Power-Usage,8.7 +2023-03-13,FJ,Off-Peak-Period,Commercial-Power-Usage,12.3 +2023-03-14,SX,Peak-Period,Industrial-Power-Usage,19.7 +2023-03-14,JX,Off-Peak-Period,Residential-Power-Usage,9.4 +2023-03-15,LN,Peak-Period,Commercial-Power-Usage,14.2 +2023-03-15,YN,Off-Peak-Period,Industrial-Power-Usage,18.8 +2023-03-16,SHX,Peak-Period,Residential-Power-Usage,8.3 +2023-03-16,GZ,Off-Peak-Period,Commercial-Power-Usage,11.9 +2023-03-17,HLJ,Peak-Period,Industrial-Power-Usage,20.3 +2023-03-17,JL,Off-Peak-Period,Residential-Power-Usage,7.8 +2023-03-18,GS,Peak-Period,Commercial-Power-Usage,13.6 +2023-03-18,XJ,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-03-19,NMG,Peak-Period,Residential-Power-Usage,8.9 +2023-03-19,GXI,Off-Peak-Period,Commercial-Power-Usage,12.1 +2023-03-20,NX,Peak-Period,Industrial-Power-Usage,21.1 +2023-03-20,QH,Off-Peak-Period,Residential-Power-Usage,9.2 +2023-03-21,HAIN,Peak-Period,Commercial-Power-Usage,14.4 +2023-03-21,XZ,Off-Peak-Period,Industrial-Power-Usage,18.7 +2023-03-22,TJ,Peak-Period,Residential-Power-Usage,8.5 +2023-03-22,CQ,Off-Peak-Period,Commercial-Power-Usage,12.4 +2023-03-24,BJ,Off-Peak-Period,Industrial-Power-Usage,19.2 +2023-03-25,SH,Peak-Period,Residential-Power-Usage,9.9 +2023-03-25,GD,Off-Peak-Period,Commercial-Power-Usage,11.1 +2023-03-26,JS,Peak-Period,Industrial-Power-Usage,21.2 +2023-03-26,ZJ,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-03-27,SD,Peak-Period,Commercial-Power-Usage,14.5 +2023-03-27,HN,Off-Peak-Period,Industrial-Power-Usage,17.7 +2023-03-28,SC,Peak-Period,Residential-Power-Usage,8.8 +2023-03-28,HB,Off-Peak-Period,Commercial-Power-Usage,12.5 +2023-03-29,HN,Peak-Period,Industrial-Power-Usage,19.8 +2023-03-29,AH,Off-Peak-Period,Residential-Power-Usage,9.5 +2023-03-30,HB,Peak-Period,Commercial-Power-Usage,14.6 +2023-03-30,FJ,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-03-31,SX,Peak-Period,Residential-Power-Usage,8.6 +2023-03-31,JX,Off-Peak-Period,Commercial-Power-Usage,12.0 +2023-04-01,BJ,Peak-Period,Industrial-Power-Usage,20.7 +2023-04-01,SH,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-04-02,GD,Peak-Period,Commercial-Power-Usage,16.9 +2023-04-02,JS,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-04-03,ZJ,Peak-Period,Residential-Power-Usage,9.2 +2023-04-03,SD,Off-Peak-Period,Commercial-Power-Usage,13.1 +2023-04-04,HN,Peak-Period,Industrial-Power-Usage,21.5 +2023-04-04,SC,Off-Peak-Period,Residential-Power-Usage,8.8 +2023-04-05,HB,Peak-Period,Commercial-Power-Usage,15.3 +2023-04-05,HN,Off-Peak-Period,Industrial-Power-Usage,18.6 +2023-04-06,AH,Peak-Period,Residential-Power-Usage,8.3 +2023-04-06,HB,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-04-07,FJ,Peak-Period,Industrial-Power-Usage,20.1 +2023-04-07,SX,Off-Peak-Period,Residential-Power-Usage,9.5 +2023-04-08,JX,Peak-Period,Commercial-Power-Usage,14.7 +2023-04-08,LN,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-04-09,YN,Peak-Period,Residential-Power-Usage,8.6 +2023-04-09,SHX,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-04-10,GZ,Peak-Period,Industrial-Power-Usage,21.2 +2023-04-10,HLJ,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-04-11,JL,Peak-Period,Commercial-Power-Usage,15.8 +2023-04-11,GS,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-04-12,XJ,Peak-Period,Residential-Power-Usage,9.3 +2023-04-12,NMG,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-04-13,GXI,Peak-Period,Industrial-Power-Usage,20.5 +2023-04-13,NX,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-04-14,QH,Peak-Period,Commercial-Power-Usage,14.2 +2023-04-14,HAIN,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-04-15,XZ,Peak-Period,Residential-Power-Usage,8.4 +2023-04-15,TJ,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-04-16,CQ,Peak-Period,Industrial-Power-Usage,21.0 +2023-04-18,BJ,Peak-Period,Residential-Power-Usage,9.6 +2023-04-18,SH,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-04-19,GD,Peak-Period,Industrial-Power-Usage,20.8 +2023-04-19,JS,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-04-20,ZJ,Peak-Period,Commercial-Power-Usage,14.5 +2023-04-20,SD,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-04-21,HN,Peak-Period,Residential-Power-Usage,9.1 +2023-04-21,SC,Off-Peak-Period,Commercial-Power-Usage,13.3 +2023-04-22,HB,Peak-Period,Industrial-Power-Usage,21.3 +2023-04-22,HN,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-04-23,AH,Peak-Period,Commercial-Power-Usage,15.4 +2023-04-23,HB,Off-Peak-Period,Industrial-Power-Usage,18.8 +2023-04-24,FJ,Peak-Period,Residential-Power-Usage,9.4 +2023-04-24,SX,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-04-25,JX,Peak-Period,Industrial-Power-Usage,20.6 +2023-04-25,LN,Off-Peak-Period,Residential-Power-Usage,8.1 +2023-04-26,YN,Peak-Period,Commercial-Power-Usage,14.9 +2023-04-26,SHX,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-04-27,GZ,Peak-Period,Residential-Power-Usage,9.0 +2023-04-27,HLJ,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-04-28,JL,Peak-Period,Industrial-Power-Usage,21.1 +2023-04-28,GS,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-04-29,XJ,Peak-Period,Commercial-Power-Usage,15.2 +2023-04-29,NMG,Off-Peak-Period,Industrial-Power-Usage,19.0 +2023-04-30,GXI,Peak-Period,Residential-Power-Usage,9.7 +2023-04-30,NX,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-05-01,QH,Peak-Period,Industrial-Power-Usage,20.4 +2023-05-01,HAIN,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-05-02,XZ,Peak-Period,Commercial-Power-Usage,14.3 +2023-05-02,TJ,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-05-03,CQ,Peak-Period,Residential-Power-Usage,9.2 +2023-05-05,BJ,Peak-Period,Commercial-Power-Usage,15.7 +2023-05-05,SH,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-05-06,GD,Peak-Period,Residential-Power-Usage,9.5 +2023-05-06,JS,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-05-07,ZJ,Peak-Period,Industrial-Power-Usage,20.7 +2023-05-07,SD,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-05-08,HN,Peak-Period,Commercial-Power-Usage,14.6 +2023-05-08,SC,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-05-09,HB,Peak-Period,Residential-Power-Usage,9.3 +2023-05-09,HN,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-05-10,AH,Peak-Period,Industrial-Power-Usage,21.2 +2023-05-10,HB,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-05-11,FJ,Peak-Period,Commercial-Power-Usage,15.5 +2023-05-11,SX,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-05-12,JX,Peak-Period,Residential-Power-Usage,9.6 +2023-05-12,LN,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-05-13,YN,Peak-Period,Industrial-Power-Usage,20.6 +2023-05-13,SHX,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-05-14,GZ,Peak-Period,Commercial-Power-Usage,14.8 +2023-05-14,HLJ,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-05-15,JL,Peak-Period,Residential-Power-Usage,9.0 +2023-05-15,GS,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-05-16,XJ,Peak-Period,Industrial-Power-Usage,21.3 +2023-05-16,NMG,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-05-17,GXI,Peak-Period,Commercial-Power-Usage,15.3 +2023-05-17,NX,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-05-18,QH,Peak-Period,Residential-Power-Usage,9.4 +2023-05-18,HAIN,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-05-19,XZ,Peak-Period,Industrial-Power-Usage,20.8 +2023-05-19,TJ,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-05-20,CQ,Peak-Period,Commercial-Power-Usage,14.5 +2023-05-22,BJ,Peak-Period,Industrial-Power-Usage,21.0 +2023-05-22,SH,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-05-23,GD,Peak-Period,Commercial-Power-Usage,16.4 +2023-05-23,JS,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-05-24,ZJ,Peak-Period,Residential-Power-Usage,9.8 +2023-05-24,SD,Off-Peak-Period,Commercial-Power-Usage,13.9 +2023-05-25,HN,Peak-Period,Industrial-Power-Usage,20.3 +2023-05-25,SC,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-05-26,HB,Peak-Period,Commercial-Power-Usage,15.6 +2023-05-26,HN,Off-Peak-Period,Industrial-Power-Usage,18.4 +2023-05-27,AH,Peak-Period,Residential-Power-Usage,9.1 +2023-05-27,HB,Off-Peak-Period,Commercial-Power-Usage,12.5 +2023-05-28,FJ,Peak-Period,Industrial-Power-Usage,20.9 +2023-05-28,SX,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-05-29,JX,Peak-Period,Commercial-Power-Usage,14.8 +2023-05-29,LN,Off-Peak-Period,Industrial-Power-Usage,19.2 +2023-05-30,YN,Peak-Period,Residential-Power-Usage,9.3 +2023-05-30,SHX,Off-Peak-Period,Commercial-Power-Usage,13.2 +2023-05-31,GZ,Peak-Period,Industrial-Power-Usage,21.4 +2023-05-31,HLJ,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-06-01,JL,Peak-Period,Commercial-Power-Usage,15.7 +2023-06-01,GS,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-06-02,XJ,Peak-Period,Residential-Power-Usage,9.6 +2023-06-02,NMG,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-06-03,GXI,Peak-Period,Industrial-Power-Usage,20.8 +2023-06-03,NX,Off-Peak-Period,Residential-Power-Usage,8.8 +2023-06-04,QH,Peak-Period,Commercial-Power-Usage,14.5 +2023-06-04,HAIN,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-06-05,XZ,Peak-Period,Residential-Power-Usage,9.0 +2023-06-05,TJ,Off-Peak-Period,Commercial-Power-Usage,13.3 +2023-06-06,CQ,Peak-Period,Industrial-Power-Usage,21.1 +2023-06-08,BJ,Peak-Period,Residential-Power-Usage,9.7 +2023-06-08,SH,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-06-09,GD,Peak-Period,Industrial-Power-Usage,20.4 +2023-06-09,JS,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-06-10,ZJ,Peak-Period,Commercial-Power-Usage,14.7 +2023-06-10,SD,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-06-11,HN,Peak-Period,Residential-Power-Usage,9.2 +2023-06-11,SC,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-06-12,HB,Peak-Period,Industrial-Power-Usage,21.2 +2023-06-12,HN,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-06-13,AH,Peak-Period,Commercial-Power-Usage,15.4 +2023-06-13,HB,Off-Peak-Period,Industrial-Power-Usage,19.0 +2023-06-14,FJ,Peak-Period,Residential-Power-Usage,9.5 +2023-06-14,SX,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-06-15,JX,Peak-Period,Industrial-Power-Usage,20.7 +2023-06-15,LN,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-06-16,YN,Peak-Period,Commercial-Power-Usage,14.9 +2023-06-16,SHX,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-06-17,GZ,Peak-Period,Residential-Power-Usage,9.1 +2023-06-17,HLJ,Off-Peak-Period,Commercial-Power-Usage,13.6 +2023-06-18,JL,Peak-Period,Industrial-Power-Usage,21.3 +2023-06-18,GS,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-06-19,XJ,Peak-Period,Commercial-Power-Usage,15.5 +2023-06-19,NMG,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-06-20,GXI,Peak-Period,Residential-Power-Usage,9.8 +2023-06-20,NX,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-06-21,QH,Peak-Period,Industrial-Power-Usage,20.5 +2023-06-21,HAIN,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-06-22,XZ,Peak-Period,Commercial-Power-Usage,14.6 +2023-06-22,TJ,Off-Peak-Period,Industrial-Power-Usage,19.9 +2023-06-23,CQ,Peak-Period,Residential-Power-Usage,9.3 +2023-06-25,BJ,Peak-Period,Commercial-Power-Usage,15.8 +2023-06-25,SH,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-06-26,GD,Peak-Period,Residential-Power-Usage,9.4 +2023-06-26,JS,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-06-27,ZJ,Peak-Period,Industrial-Power-Usage,20.6 +2023-06-27,SD,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-06-28,HN,Peak-Period,Commercial-Power-Usage,14.3 +2023-06-28,SC,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-06-29,HB,Peak-Period,Residential-Power-Usage,9.6 +2023-06-29,HN,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-06-30,AH,Peak-Period,Industrial-Power-Usage,21.1 +2023-06-30,HB,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-07-01,FJ,Peak-Period,Commercial-Power-Usage,15.0 +2023-07-01,SX,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-07-02,JX,Peak-Period,Residential-Power-Usage,9.7 +2023-07-02,LN,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-07-03,YN,Peak-Period,Industrial-Power-Usage,20.8 +2023-07-03,SHX,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-07-04,GZ,Peak-Period,Commercial-Power-Usage,14.4 +2023-07-04,HLJ,Off-Peak-Period,Industrial-Power-Usage,19.2 +2023-07-05,JL,Peak-Period,Residential-Power-Usage,9.0 +2023-07-05,GS,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-07-06,XJ,Peak-Period,Industrial-Power-Usage,21.4 +2023-07-06,NMG,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-07-07,GXI,Peak-Period,Commercial-Power-Usage,15.3 +2023-07-07,NX,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-07-08,QH,Peak-Period,Residential-Power-Usage,9.5 +2023-07-08,HAIN,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-07-09,XZ,Peak-Period,Industrial-Power-Usage,20.9 +2023-07-09,TJ,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-07-10,CQ,Peak-Period,Commercial-Power-Usage,14.8 +2023-07-12,BJ,Peak-Period,Industrial-Power-Usage,20.8 +2023-07-12,SH,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-07-13,GD,Peak-Period,Commercial-Power-Usage,16.9 +2023-07-13,JS,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-07-14,ZJ,Peak-Period,Residential-Power-Usage,9.2 +2023-07-14,SD,Off-Peak-Period,Commercial-Power-Usage,13.1 +2023-07-15,HN,Peak-Period,Industrial-Power-Usage,21.5 +2023-07-15,SC,Off-Peak-Period,Residential-Power-Usage,8.8 +2023-07-16,HB,Peak-Period,Commercial-Power-Usage,15.3 +2023-07-16,HN,Off-Peak-Period,Industrial-Power-Usage,18.6 +2023-07-17,AH,Peak-Period,Residential-Power-Usage,8.3 +2023-07-17,HB,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-07-18,FJ,Peak-Period,Industrial-Power-Usage,20.1 +2023-07-18,SX,Off-Peak-Period,Residential-Power-Usage,9.5 +2023-07-19,JX,Peak-Period,Commercial-Power-Usage,14.7 +2023-07-19,LN,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-07-20,YN,Peak-Period,Residential-Power-Usage,8.6 +2023-07-20,SHX,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-07-21,GZ,Peak-Period,Industrial-Power-Usage,21.2 +2023-07-21,HLJ,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-07-22,JL,Peak-Period,Commercial-Power-Usage,15.8 +2023-07-22,GS,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-07-23,XJ,Peak-Period,Residential-Power-Usage,9.3 +2023-07-23,NMG,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-07-24,GXI,Peak-Period,Industrial-Power-Usage,20.5 +2023-07-24,NX,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-07-25,QH,Peak-Period,Commercial-Power-Usage,14.2 +2023-07-25,HAIN,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-07-26,XZ,Peak-Period,Residential-Power-Usage,8.4 +2023-07-26,TJ,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-07-27,CQ,Peak-Period,Industrial-Power-Usage,21.0 +2023-07-29,BJ,Peak-Period,Residential-Power-Usage,9.6 +2023-07-29,SH,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-07-30,GD,Peak-Period,Industrial-Power-Usage,20.8 +2023-07-30,JS,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-07-31,ZJ,Peak-Period,Commercial-Power-Usage,14.5 +2023-07-31,SD,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-08-01,HN,Peak-Period,Residential-Power-Usage,9.1 +2023-08-01,SC,Off-Peak-Period,Commercial-Power-Usage,13.3 +2023-08-02,HB,Peak-Period,Industrial-Power-Usage,21.3 +2023-08-02,HN,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-08-03,AH,Peak-Period,Commercial-Power-Usage,15.4 +2023-08-03,HB,Off-Peak-Period,Industrial-Power-Usage,18.8 +2023-08-04,FJ,Peak-Period,Residential-Power-Usage,9.4 +2023-08-04,SX,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-08-05,JX,Peak-Period,Industrial-Power-Usage,20.6 +2023-08-05,LN,Off-Peak-Period,Residential-Power-Usage,8.1 +2023-08-06,YN,Peak-Period,Commercial-Power-Usage,14.9 +2023-08-06,SHX,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-08-07,GZ,Peak-Period,Residential-Power-Usage,9.0 +2023-08-07,HLJ,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-08-08,JL,Peak-Period,Industrial-Power-Usage,21.1 +2023-08-08,GS,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-08-09,XJ,Peak-Period,Commercial-Power-Usage,15.2 +2023-08-09,NMG,Off-Peak-Period,Industrial-Power-Usage,19.0 +2023-08-10,GXI,Peak-Period,Residential-Power-Usage,9.7 +2023-08-10,NX,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-08-11,QH,Peak-Period,Industrial-Power-Usage,20.4 +2023-08-11,HAIN,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-08-12,XZ,Peak-Period,Commercial-Power-Usage,14.3 +2023-08-12,TJ,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-08-13,CQ,Peak-Period,Residential-Power-Usage,9.2 +2023-08-15,BJ,Peak-Period,Commercial-Power-Usage,15.7 +2023-08-15,SH,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-08-16,GD,Peak-Period,Residential-Power-Usage,9.5 +2023-08-16,JS,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-08-17,ZJ,Peak-Period,Industrial-Power-Usage,20.7 +2023-08-17,SD,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-08-18,HN,Peak-Period,Commercial-Power-Usage,14.6 +2023-08-18,SC,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-08-19,HB,Peak-Period,Residential-Power-Usage,9.3 +2023-08-19,HN,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-08-20,AH,Peak-Period,Industrial-Power-Usage,21.2 +2023-08-20,HB,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-08-21,FJ,Peak-Period,Commercial-Power-Usage,15.5 +2023-08-21,SX,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-08-22,JX,Peak-Period,Residential-Power-Usage,9.6 +2023-08-22,LN,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-08-23,YN,Peak-Period,Industrial-Power-Usage,20.6 +2023-08-23,SHX,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-08-24,GZ,Peak-Period,Commercial-Power-Usage,14.8 +2023-08-24,HLJ,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-08-25,JL,Peak-Period,Residential-Power-Usage,9.0 +2023-08-25,GS,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-08-26,XJ,Peak-Period,Industrial-Power-Usage,21.3 +2023-08-26,NMG,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-08-27,GXI,Peak-Period,Commercial-Power-Usage,15.3 +2023-08-27,NX,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-08-28,QH,Peak-Period,Residential-Power-Usage,9.4 +2023-08-28,HAIN,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-08-29,XZ,Peak-Period,Industrial-Power-Usage,20.8 +2023-08-29,TJ,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-08-30,CQ,Peak-Period,Commercial-Power-Usage,14.5 +2023-09-01,BJ,Peak-Period,Industrial-Power-Usage,21.0 +2023-09-01,SH,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-09-02,GD,Peak-Period,Commercial-Power-Usage,16.4 +2023-09-02,JS,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-09-03,ZJ,Peak-Period,Residential-Power-Usage,9.8 +2023-09-03,SD,Off-Peak-Period,Commercial-Power-Usage,13.9 +2023-09-04,HN,Peak-Period,Industrial-Power-Usage,20.3 +2023-09-04,SC,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-09-05,HB,Peak-Period,Commercial-Power-Usage,15.6 +2023-09-05,HN,Off-Peak-Period,Industrial-Power-Usage,18.4 +2023-09-06,AH,Peak-Period,Residential-Power-Usage,9.1 +2023-09-06,HB,Off-Peak-Period,Commercial-Power-Usage,12.5 +2023-09-07,FJ,Peak-Period,Industrial-Power-Usage,20.9 +2023-09-07,SX,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-09-08,JX,Peak-Period,Commercial-Power-Usage,14.8 +2023-09-08,LN,Off-Peak-Period,Industrial-Power-Usage,19.2 +2023-09-09,YN,Peak-Period,Residential-Power-Usage,9.3 +2023-09-09,SHX,Off-Peak-Period,Commercial-Power-Usage,13.2 +2023-09-10,GZ,Peak-Period,Industrial-Power-Usage,21.4 +2023-09-10,HLJ,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-09-11,JL,Peak-Period,Commercial-Power-Usage,15.7 +2023-09-11,GS,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-09-12,XJ,Peak-Period,Residential-Power-Usage,9.6 +2023-09-12,NMG,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-09-13,GXI,Peak-Period,Industrial-Power-Usage,20.8 +2023-09-13,NX,Off-Peak-Period,Residential-Power-Usage,8.8 +2023-09-14,QH,Peak-Period,Commercial-Power-Usage,14.5 +2023-09-14,HAIN,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-09-15,XZ,Peak-Period,Residential-Power-Usage,9.0 +2023-09-15,TJ,Off-Peak-Period,Commercial-Power-Usage,13.3 +2023-09-16,CQ,Peak-Period,Industrial-Power-Usage,21.1 +2023-09-18,BJ,Peak-Period,Residential-Power-Usage,9.7 +2023-09-18,SH,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-09-19,GD,Peak-Period,Industrial-Power-Usage,20.4 +2023-09-19,JS,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-09-20,ZJ,Peak-Period,Commercial-Power-Usage,14.7 +2023-09-20,SD,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-09-21,HN,Peak-Period,Residential-Power-Usage,9.2 +2023-09-21,SC,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-09-22,HB,Peak-Period,Industrial-Power-Usage,21.2 +2023-09-22,HN,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-09-23,AH,Peak-Period,Commercial-Power-Usage,15.4 +2023-09-23,HB,Off-Peak-Period,Industrial-Power-Usage,19.0 +2023-09-24,FJ,Peak-Period,Residential-Power-Usage,9.5 +2023-09-24,SX,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-09-25,JX,Peak-Period,Industrial-Power-Usage,20.7 +2023-09-25,LN,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-09-26,YN,Peak-Period,Commercial-Power-Usage,14.9 +2023-09-26,SHX,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-09-27,GZ,Peak-Period,Residential-Power-Usage,9.1 +2023-09-27,HLJ,Off-Peak-Period,Commercial-Power-Usage,13.6 +2023-09-28,JL,Peak-Period,Industrial-Power-Usage,21.3 +2023-09-28,GS,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-09-29,XJ,Peak-Period,Commercial-Power-Usage,15.5 +2023-09-29,NMG,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-09-30,GXI,Peak-Period,Residential-Power-Usage,9.8 +2023-09-30,NX,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-10-01,QH,Peak-Period,Industrial-Power-Usage,20.5 +2023-10-01,HAIN,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-10-02,XZ,Peak-Period,Commercial-Power-Usage,14.6 +2023-10-02,TJ,Off-Peak-Period,Industrial-Power-Usage,19.9 +2023-10-03,CQ,Peak-Period,Residential-Power-Usage,9.3 +2023-10-05,BJ,Peak-Period,Commercial-Power-Usage,15.8 +2023-10-05,SH,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-10-06,GD,Peak-Period,Residential-Power-Usage,9.4 +2023-10-06,JS,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-10-07,ZJ,Peak-Period,Industrial-Power-Usage,20.6 +2023-10-07,SD,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-10-08,HN,Peak-Period,Commercial-Power-Usage,14.3 +2023-10-08,SC,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-10-09,HB,Peak-Period,Residential-Power-Usage,9.6 +2023-10-09,HN,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-10-10,AH,Peak-Period,Industrial-Power-Usage,21.1 +2023-10-10,HB,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-10-11,FJ,Peak-Period,Commercial-Power-Usage,15.0 +2023-10-11,SX,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-10-12,JX,Peak-Period,Residential-Power-Usage,9.7 +2023-10-12,LN,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-10-13,YN,Peak-Period,Industrial-Power-Usage,20.8 +2023-10-13,SHX,Off-Peak-Period,Residential-Power-Usage,8.9 +2023-10-14,GZ,Peak-Period,Commercial-Power-Usage,14.4 +2023-10-14,HLJ,Off-Peak-Period,Industrial-Power-Usage,19.2 +2023-10-15,JL,Peak-Period,Residential-Power-Usage,9.0 +2023-10-15,GS,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-10-16,XJ,Peak-Period,Industrial-Power-Usage,21.4 +2023-10-16,NMG,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-10-17,GXI,Peak-Period,Commercial-Power-Usage,15.3 +2023-10-17,NX,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-10-18,QH,Peak-Period,Residential-Power-Usage,9.5 +2023-10-18,HAIN,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-10-19,XZ,Peak-Period,Industrial-Power-Usage,20.9 +2023-10-19,TJ,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-10-20,CQ,Peak-Period,Commercial-Power-Usage,14.8 +2023-10-22,BJ,Peak-Period,Industrial-Power-Usage,20.8 +2023-10-22,SH,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-10-23,GD,Peak-Period,Commercial-Power-Usage,16.9 +2023-10-23,JS,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-10-24,ZJ,Peak-Period,Residential-Power-Usage,9.2 +2023-10-24,SD,Off-Peak-Period,Commercial-Power-Usage,13.1 +2023-10-25,HN,Peak-Period,Industrial-Power-Usage,21.5 +2023-10-25,SC,Off-Peak-Period,Residential-Power-Usage,8.8 +2023-10-26,HB,Peak-Period,Commercial-Power-Usage,15.3 +2023-10-26,HN,Off-Peak-Period,Industrial-Power-Usage,18.6 +2023-10-27,AH,Peak-Period,Residential-Power-Usage,8.3 +2023-10-27,HB,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-10-28,FJ,Peak-Period,Industrial-Power-Usage,20.1 +2023-10-28,SX,Off-Peak-Period,Residential-Power-Usage,9.5 +2023-10-29,JX,Peak-Period,Commercial-Power-Usage,14.7 +2023-10-29,LN,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-10-30,YN,Peak-Period,Residential-Power-Usage,8.6 +2023-10-30,SHX,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-10-31,GZ,Peak-Period,Industrial-Power-Usage,21.2 +2023-10-31,HLJ,Off-Peak-Period,Residential-Power-Usage,8.0 +2023-11-01,JL,Peak-Period,Commercial-Power-Usage,15.8 +2023-11-01,GS,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-11-02,XJ,Peak-Period,Residential-Power-Usage,9.3 +2023-11-02,NMG,Off-Peak-Period,Commercial-Power-Usage,12.6 +2023-11-03,GXI,Peak-Period,Industrial-Power-Usage,20.5 +2023-11-03,NX,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-11-04,QH,Peak-Period,Commercial-Power-Usage,14.2 +2023-11-04,HAIN,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-11-05,XZ,Peak-Period,Residential-Power-Usage,8.4 +2023-11-05,TJ,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-11-06,CQ,Peak-Period,Industrial-Power-Usage,21.0 +2023-11-08,BJ,Peak-Period,Residential-Power-Usage,9.6 +2023-11-08,SH,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-11-09,GD,Peak-Period,Industrial-Power-Usage,20.8 +2023-11-09,JS,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-11-10,ZJ,Peak-Period,Commercial-Power-Usage,14.5 +2023-11-10,SD,Off-Peak-Period,Industrial-Power-Usage,19.6 +2023-11-11,HN,Peak-Period,Residential-Power-Usage,9.1 +2023-11-11,SC,Off-Peak-Period,Commercial-Power-Usage,13.3 +2023-11-12,HB,Peak-Period,Industrial-Power-Usage,21.3 +2023-11-12,HN,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-11-13,AH,Peak-Period,Commercial-Power-Usage,15.4 +2023-11-13,HB,Off-Peak-Period,Industrial-Power-Usage,18.8 +2023-11-14,FJ,Peak-Period,Residential-Power-Usage,9.4 +2023-11-14,SX,Off-Peak-Period,Commercial-Power-Usage,12.7 +2023-11-15,JX,Peak-Period,Industrial-Power-Usage,20.6 +2023-11-15,LN,Off-Peak-Period,Residential-Power-Usage,8.1 +2023-11-16,YN,Peak-Period,Commercial-Power-Usage,14.9 +2023-11-16,SHX,Off-Peak-Period,Industrial-Power-Usage,19.3 +2023-11-17,GZ,Peak-Period,Residential-Power-Usage,9.0 +2023-11-17,HLJ,Off-Peak-Period,Commercial-Power-Usage,13.5 +2023-11-18,JL,Peak-Period,Industrial-Power-Usage,21.1 +2023-11-18,GS,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-11-19,XJ,Peak-Period,Commercial-Power-Usage,15.2 +2023-11-19,NMG,Off-Peak-Period,Industrial-Power-Usage,19.0 +2023-11-20,GXI,Peak-Period,Residential-Power-Usage,9.7 +2023-11-20,NX,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-11-21,QH,Peak-Period,Industrial-Power-Usage,20.4 +2023-11-21,HAIN,Off-Peak-Period,Residential-Power-Usage,8.6 +2023-11-22,XZ,Peak-Period,Commercial-Power-Usage,14.3 +2023-11-22,TJ,Off-Peak-Period,Industrial-Power-Usage,19.5 +2023-11-23,CQ,Peak-Period,Residential-Power-Usage,9.2 +2023-11-25,BJ,Peak-Period,Commercial-Power-Usage,15.7 +2023-11-25,SH,Off-Peak-Period,Industrial-Power-Usage,18.9 +2023-11-26,GD,Peak-Period,Residential-Power-Usage,9.5 +2023-11-26,JS,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-11-27,ZJ,Peak-Period,Industrial-Power-Usage,20.7 +2023-11-27,SD,Off-Peak-Period,Residential-Power-Usage,8.4 +2023-11-28,HN,Peak-Period,Commercial-Power-Usage,14.6 +2023-11-28,SC,Off-Peak-Period,Industrial-Power-Usage,19.8 +2023-11-29,HB,Peak-Period,Residential-Power-Usage,9.3 +2023-11-29,HN,Off-Peak-Period,Commercial-Power-Usage,13.4 +2023-11-30,AH,Peak-Period,Industrial-Power-Usage,21.2 +2023-11-30,HB,Off-Peak-Period,Residential-Power-Usage,8.7 +2023-12-01,FJ,Peak-Period,Commercial-Power-Usage,15.5 +2023-12-01,SX,Off-Peak-Period,Industrial-Power-Usage,19.1 +2023-12-02,JX,Peak-Period,Residential-Power-Usage,9.6 +2023-12-02,LN,Off-Peak-Period,Commercial-Power-Usage,12.8 +2023-12-03,YN,Peak-Period,Industrial-Power-Usage,20.6 +2023-12-03,SHX,Off-Peak-Period,Residential-Power-Usage,8.2 +2023-12-04,GZ,Peak-Period,Commercial-Power-Usage,14.8 +2023-12-04,HLJ,Off-Peak-Period,Industrial-Power-Usage,19.7 +2023-12-05,JL,Peak-Period,Residential-Power-Usage,9.0 +2023-12-05,GS,Off-Peak-Period,Commercial-Power-Usage,13.7 +2023-12-06,XJ,Peak-Period,Industrial-Power-Usage,21.3 +2023-12-06,NMG,Off-Peak-Period,Residential-Power-Usage,8.5 +2023-12-07,GXI,Peak-Period,Commercial-Power-Usage,15.3 +2023-12-07,NX,Off-Peak-Period,Industrial-Power-Usage,19.4 +2023-12-08,QH,Peak-Period,Residential-Power-Usage,9.4 +2023-12-08,HAIN,Off-Peak-Period,Commercial-Power-Usage,12.9 +2023-12-09,XZ,Peak-Period,Industrial-Power-Usage,20.8 +2023-12-09,TJ,Off-Peak-Period,Residential-Power-Usage,8.3 +2023-12-10,CQ,Peak-Period,Commercial-Power-Usage,14.5 diff --git a/src/main/java/AnnualIndustrialPowerMapper.java b/src/main/java/AnnualIndustrialPowerMapper.java new file mode 100644 index 0000000..2f96abb --- /dev/null +++ b/src/main/java/AnnualIndustrialPowerMapper.java @@ -0,0 +1,20 @@ +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Mapper; + +import java.io.IOException; + +public class AnnualIndustrialPowerMapper extends Mapper { + private Text outKey = new Text("Total-2023"); + private DoubleWritable outValue = new DoubleWritable(); + + @Override + protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { + String[] fields = value.toString().split(","); + if (fields.length == 5 && "Industrial-Power-Usage".equals(fields[3]) && fields[0].startsWith("2023")) { + double powerUsage = Double.parseDouble(fields[4]); + outValue.set(powerUsage); + context.write(outKey, outValue); + } + } +} \ No newline at end of file diff --git a/src/main/java/AnnualIndustrialPowerReducer.java b/src/main/java/AnnualIndustrialPowerReducer.java new file mode 100644 index 0000000..5129d17 --- /dev/null +++ b/src/main/java/AnnualIndustrialPowerReducer.java @@ -0,0 +1,19 @@ +import org.apache.hadoop.io.DoubleWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Reducer; + +import java.io.IOException; + +public class AnnualIndustrialPowerReducer extends Reducer { + private DoubleWritable result = new DoubleWritable(); + + @Override + protected void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { + double sum = 0.0; + for (DoubleWritable val : values) { + sum += val.get(); + } + result.set(sum); + context.write(key, result); + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..4ab814e --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,63 @@ +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.DoubleWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Job; +import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; +import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; + +public class Main { + public static void main(String[] args) throws Exception { + + if (args.length < 2) { + System.err.println("Usage: Main "); + System.exit(-1); + } + + String inputPath = args[0]; + String outputPathBase = args[1]; + + runMonthlyResidentialPowerJob(inputPath, outputPathBase + "/monthly_residential"); + runAnnualIndustrialPowerJob(inputPath, outputPathBase + "/annual_industrial"); + runProvinceMaxDailyPowerJob(inputPath, outputPathBase + "/province_max_daily"); + } + + private static void runMonthlyResidentialPowerJob(String inputPath, String outputPath) throws Exception { + Configuration conf = new Configuration(); + Job job = Job.getInstance(conf, "Monthly Residential Power Usage"); + job.setJarByClass(Main.class); + job.setMapperClass(MonthlyResidentialPowerMapper.class); + job.setReducerClass(MonthlyResidentialPowerReducer.class); + job.setOutputKeyClass(Text.class); + job.setOutputValueClass(DoubleWritable.class); + FileInputFormat.addInputPath(job, new Path(inputPath)); + FileOutputFormat.setOutputPath(job, new Path(outputPath)); + job.waitForCompletion(true); + } + + private static void runAnnualIndustrialPowerJob(String inputPath, String outputPath) throws Exception { + Configuration conf = new Configuration(); + Job job = Job.getInstance(conf, "Annual Industrial Power Usage"); + job.setJarByClass(Main.class); + job.setMapperClass(AnnualIndustrialPowerMapper.class); + job.setReducerClass(AnnualIndustrialPowerReducer.class); + job.setOutputKeyClass(Text.class); + job.setOutputValueClass(DoubleWritable.class); + FileInputFormat.addInputPath(job, new Path(inputPath)); + FileOutputFormat.setOutputPath(job, new Path(outputPath)); + job.waitForCompletion(true); + } + + private static void runProvinceMaxDailyPowerJob(String inputPath, String outputPath) throws Exception { + Configuration conf = new Configuration(); + Job job = Job.getInstance(conf, "Province Max Daily Power Usage"); + job.setJarByClass(Main.class); + job.setMapperClass(ProvinceMaxDailyPowerMapper.class); + job.setReducerClass(ProvinceMaxDailyPowerReducer.class); + job.setOutputKeyClass(Text.class); + job.setOutputValueClass(Text.class); + FileInputFormat.addInputPath(job, new Path(inputPath)); + FileOutputFormat.setOutputPath(job, new Path(outputPath)); + job.waitForCompletion(true); + } +} diff --git a/src/main/java/MonthlyResidentialPowerMapper.java b/src/main/java/MonthlyResidentialPowerMapper.java new file mode 100644 index 0000000..0ee0cd7 --- /dev/null +++ b/src/main/java/MonthlyResidentialPowerMapper.java @@ -0,0 +1,23 @@ +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Mapper; + +import java.io.IOException; + +public class MonthlyResidentialPowerMapper extends Mapper { + private Text outKey = new Text(); + private DoubleWritable outValue = new DoubleWritable(); + + @Override + protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { + String[] fields = value.toString().split(","); + if (fields.length == 5 && "Residential-Power-Usage".equals(fields[3])) { + String date = fields[0]; + String yearMonth = date.substring(0, 7); // 提取年月 + double powerUsage = Double.parseDouble(fields[4]); + outKey.set(yearMonth); + outValue.set(powerUsage); + context.write(outKey, outValue); + } + } +} \ No newline at end of file diff --git a/src/main/java/MonthlyResidentialPowerReducer.java b/src/main/java/MonthlyResidentialPowerReducer.java new file mode 100644 index 0000000..3699f29 --- /dev/null +++ b/src/main/java/MonthlyResidentialPowerReducer.java @@ -0,0 +1,19 @@ +import org.apache.hadoop.io.DoubleWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Reducer; + +import java.io.IOException; + +public class MonthlyResidentialPowerReducer extends Reducer { + private DoubleWritable result = new DoubleWritable(); + + @Override + protected void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { + double sum = 0.0; + for (DoubleWritable val : values) { + sum += val.get(); + } + result.set(sum); + context.write(key, result); + } +} \ No newline at end of file diff --git a/src/main/java/ProvinceMaxDailyPowerMapper.java b/src/main/java/ProvinceMaxDailyPowerMapper.java new file mode 100644 index 0000000..ff46083 --- /dev/null +++ b/src/main/java/ProvinceMaxDailyPowerMapper.java @@ -0,0 +1,24 @@ +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Mapper; + +import java.io.IOException; + +public class ProvinceMaxDailyPowerMapper extends Mapper { + private Text outKey = new Text(); + private Text outValue = new Text(); + + @Override + protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { + String[] fields = value.toString().split(","); + if (fields.length == 5 && fields[0].startsWith("2023")) { + String province = fields[1]; + String date = fields[0]; + String loadType = fields[3]; + double powerUsage = Double.parseDouble(fields[4]); + outKey.set(province); + outValue.set(String.format("%s:%s:%.2f", date, loadType, powerUsage)); + context.write(outKey, outValue); + } + } +} \ No newline at end of file diff --git a/src/main/java/ProvinceMaxDailyPowerReducer.java b/src/main/java/ProvinceMaxDailyPowerReducer.java new file mode 100644 index 0000000..9e94dfa --- /dev/null +++ b/src/main/java/ProvinceMaxDailyPowerReducer.java @@ -0,0 +1,26 @@ +import org.apache.hadoop.io.Text; +import org.apache.hadoop.mapreduce.Reducer; + +import java.io.IOException; + +public class ProvinceMaxDailyPowerReducer extends Reducer { + + @Override + protected void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { + String maxRecord = null; + double maxValue = Double.MIN_VALUE; + + for (Text value : values) { + String[] parts = value.toString().split(":"); + double powerUsage = Double.parseDouble(parts[2]); + if (powerUsage > maxValue) { + maxValue = powerUsage; + maxRecord = value.toString(); + } + } + + if (maxRecord != null) { + context.write(key, new Text(maxRecord)); + } + } +} \ No newline at end of file diff --git a/src/main/java/org/example/App.java b/src/main/java/org/example/App.java new file mode 100644 index 0000000..5f21d2e --- /dev/null +++ b/src/main/java/org/example/App.java @@ -0,0 +1,13 @@ +package org.example; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/src/test/java/org/example/AppTest.java b/src/test/java/org/example/AppTest.java new file mode 100644 index 0000000..d5f435d --- /dev/null +++ b/src/test/java/org/example/AppTest.java @@ -0,0 +1,38 @@ +package org.example; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +}