Duplication Overall
- 15% duplication:
- 21,341 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
- 3,406 duplicated lines
- 607 duplicates
Duplication per Extension
Duplication per Component (primary)
Duplication Between Components (50+ lines)
flowchart TB
n0["data"]
n1["spark"]
n2["parquet"]
n3["api"]
n4["core"]
n5["pig"]
n0 ---|"448"| n1
n0 ---|"372"| n2
n3 ---|"313"| n2
n4 ---|"304"| n1
n4 ---|"298"| n0
n2 ---|"271"| n1
n5 ---|"140"| n1
n3 ---|"130"| n4
n2 ---|"128"| n5
n0 ---|"126"| n5
n4 ---|"86"| n2
n3 ---|"76"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
linkStyle 1 stroke:#DC143CDB,stroke-width:8px
linkStyle 2 stroke:#DC143CB7,stroke-width:6px
linkStyle 3 stroke:#DC143CB7,stroke-width:6px
linkStyle 4 stroke:#DC143CB7,stroke-width:6px
linkStyle 5 stroke:#DC143CB7,stroke-width:6px
linkStyle 6 stroke:#DC143C82,stroke-width:3px
linkStyle 7 stroke:#DC143C70,stroke-width:2px
linkStyle 8 stroke:#DC143C70,stroke-width:2px
linkStyle 9 stroke:#DC143C70,stroke-width:2px
linkStyle 10 stroke:#DC143C5E,stroke-width:1px
linkStyle 11 stroke:#DC143C5E,stroke-width:1px
Download:
Mermaid (.mmd)
(open online Mermaid editor)
2D force graph
|
3D force graph
Show more details on duplication between components...
From Component
--> To Component
Duplicated
Lines
File Pairs
Details
data (22%)
  --> spark (6%)
448
4 file pairs
details...
data (18%)
  --> parquet (5%)
372
4 file pairs
details...
api (3%)
  --> parquet (4%)
313
8 file pairs
details...
core (2%)
  --> spark (4%)
304
5 file pairs
details...
core (2%)
  --> data (14%)
298
6 file pairs
details...
parquet (3%)
  --> spark (3%)
271
4 file pairs
details...
pig (11%)
  --> spark (1%)
140
1 file pair
details...
api (1%)
  --> core (<1%)
130
13 file pairs
details...
parquet (1%)
  --> pig (10%)
128
3 file pairs
details...
data (6%)
  --> pig (10%)
126
2 file pairs
details...
core (<1%)
  --> parquet (1%)
86
4 file pairs
details...
api (<1%)
  --> spark (1%)
76
4 file pairs
details...
flowchart TB
n0["data"]
n1["spark"]
n2["parquet"]
n3["api"]
n4["core"]
n5["pig"]
n0 ---|"448"| n1
n0 ---|"372"| n2
n3 ---|"313"| n2
n4 ---|"304"| n1
n4 ---|"298"| n0
n2 ---|"271"| n1
n5 ---|"140"| n1
n3 ---|"130"| n4
n2 ---|"128"| n5
n0 ---|"126"| n5
n4 ---|"86"| n2
n3 ---|"76"| n1
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#DC143CFF,stroke-width:10px
linkStyle 1 stroke:#DC143CDB,stroke-width:8px
linkStyle 2 stroke:#DC143CB7,stroke-width:6px
linkStyle 3 stroke:#DC143CB7,stroke-width:6px
linkStyle 4 stroke:#DC143CB7,stroke-width:6px
linkStyle 5 stroke:#DC143CB7,stroke-width:6px
linkStyle 6 stroke:#DC143C82,stroke-width:3px
linkStyle 7 stroke:#DC143C70,stroke-width:2px
linkStyle 8 stroke:#DC143C70,stroke-width:2px
linkStyle 9 stroke:#DC143C70,stroke-width:2px
linkStyle 10 stroke:#DC143C5E,stroke-width:1px
linkStyle 11 stroke:#DC143C5E,stroke-width:1px
Show more details on duplication between components...
| From Component --> To Component |
Duplicated Lines |
File Pairs | Details |
|---|---|---|---|
| data (22%)   --> spark (6%) |
448 | 4 file pairs | details... |
| data (18%)   --> parquet (5%) |
372 | 4 file pairs | details... |
| api (3%)   --> parquet (4%) |
313 | 8 file pairs | details... |
| core (2%)   --> spark (4%) |
304 | 5 file pairs | details... |
| core (2%)   --> data (14%) |
298 | 6 file pairs | details... |
| parquet (3%)   --> spark (3%) |
271 | 4 file pairs | details... |
| pig (11%)   --> spark (1%) |
140 | 1 file pair | details... |
| api (1%)   --> core (<1%) |
130 | 13 file pairs | details... |
| parquet (1%)   --> pig (10%) |
128 | 3 file pairs | details... |
| data (6%)   --> pig (10%) |
126 | 2 file pairs | details... |
| core (<1%)   --> parquet (1%) |
86 | 4 file pairs | details... |
| api (<1%)   --> spark (1%) |
76 | 4 file pairs | details... |
Longest Duplicates
The list of 50 longest duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 52 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 56:129 (34%)42:115 (41%) | view | |
| 48 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 195:254 (33%)169:228 (37%) | view | |
| 45 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 122:191 (31%)98:167 (34%) | view | |
| 35 | x 2 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 233:281 (14%)240:288 (8%) | view | |
| 32 | x 2 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avro | 167:205 (26%)143:181 (29%) | view | |
| 28 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 160:197 (11%)121:158 (11%) | view | |
| 27 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 175:207 (11%)174:206 (6%) | view | |
| 25 | x 2 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avro | 58:91 (34%)66:99 (32%) | view | |
| 25 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetpig/src/main/java/com/netflix/iceberg/pig | 210:242 (10%)235:267 (10%) | view | |
| 25 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 210:242 (10%)242:274 (5%) | view | |
| 25 | x 2 | core/src/main/java/com/netflix/iceberg/avrospark/src/main/java/com/netflix/iceberg/spark/data | 149:181 (20%)120:152 (24%) | view | |
| 24 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 127:153 (9%)126:152 (5%) | view | |
| 23 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pig | 267:302 (9%)246:281 (9%) | view | |
| 23 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 267:302 (9%)253:288 (5%) | view | |
| 23 | x 2 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avro | 97:124 (31%)111:138 (29%) | view | |
| 23 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 129:153 (9%)90:114 (9%) | view | |
| 23 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 90:114 (9%)128:152 (5%) | view | |
| 22 | x 2 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avro | 64:96 (17%)62:94 (20%) | view | |
| 21 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 89:123 (15%)97:131 (11%) | view | |
| 19 | x 2 | data/src/main/java/com/netflix/iceberg/data/avrospark/src/main/java/com/netflix/iceberg/spark/data | 70:99 (17%)66:95 (18%) | view | |
| 18 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 82:111 (16%)118:147 (9%) | view | |
| 18 | x 2 | data/src/main/java/com/netflix/iceberg/data/avrospark/src/main/java/com/netflix/iceberg/spark/data | 115:136 (23%)128:149 (20%) | view | |
| 18 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 118:147 (9%)97:126 (10%) | view | |
| 18 | x 2 | core/src/main/java/com/netflix/iceberg/avrospark/src/main/java/com/netflix/iceberg/spark/data | 101:122 (25%)128:149 (20%) | view | |
| 18 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 82:111 (16%)97:126 (10%) | view | |
| 18 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 82:111 (16%)89:118 (13%) | view | |
| 18 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 89:118 (13%)118:147 (9%) | view | |
| 18 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 136:158 (7%)174:196 (4%) | view | |
| 17 | x 2 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 140:158 (6%)134:152 (3%) | view | |
| 17 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pig | 135:153 (6%)140:158 (6%) | view | |
| 17 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 175:203 (11%)228:256 (7%) | view | |
| 17 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetpig/src/main/java/com/netflix/iceberg/pig | 96:114 (7%)140:158 (6%) | view | |
| 17 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 175:203 (11%)161:189 (13%) | view | |
| 17 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 228:256 (7%)161:189 (13%) | view | |
| 16 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 78:103 (27%)81:106 (18%) | view | |
| 16 | x 2 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data | 831:846 (2%)359:374 (6%) | view | |
| 16 | x 2 | data/src/main/java/com/netflix/iceberg/data/avrospark/src/main/java/com/netflix/iceberg/spark/data | 163:181 (14%)158:176 (15%) | view | |
| 16 | x 2 | core/src/main/java/com/netflix/iceberg/avrospark/src/main/java/com/netflix/iceberg/spark/data | 72:96 (13%)66:90 (15%) | view | |
| 16 | x 2 | core/src/main/java/com/netflix/iceberg/avrospark/src/main/java/com/netflix/iceberg/spark/data | 187:205 (13%)158:176 (15%) | view | |
| 15 | x 2 | core/src/main/java/com/netflix/iceberg/avrocore/src/main/java/com/netflix/iceberg/avro | 451:469 (4%)505:523 (4%) | view | |
| 15 | x 2 | core/src/main/java/com/netflix/iceberg/avrocore/src/main/java/com/netflix/iceberg/avro | 473:489 (4%)527:543 (4%) | view | |
| 15 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 42:58 (18%)51:67 (14%) | view | |
| 15 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 267:288 (6%)221:242 (6%) | view | |
| 14 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 201:220 (7%)285:304 (7%) | view | |
| 14 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 102:123 (10%)103:124 (9%) | view | |
| 14 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 103:124 (9%)110:131 (7%) | view | |
| 13 | x 2 | core/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/iceberg | 193:211 (6%)121:139 (13%) | view | |
| 13 | x 2 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 215:237 (11%)308:331 (7%) | view | |
| 13 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 54:71 (8%)53:70 (10%) | view | |
| 13 | x 2 | core/src/main/java/com/netflix/iceberg/avroparquet/src/main/java/com/netflix/iceberg/parquet | 318:332 (4%)197:211 (4%) | view |
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 6 | x 15 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 80:85 (2%)93:98 (2%)106:111 (2%)119:124 (2%)132:137 (2%)145:150 (2%)158:163 (2%)171:176 (2%)185:190 (2%)202:207 (2%)... | view | |
| 6 | x 15 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 79:84 (2%)92:97 (2%)105:110 (2%)118:123 (2%)131:136 (2%)144:149 (2%)157:162 (2%)170:175 (2%)184:189 (2%)201:206 (2%)... | view | |
| 6 | x 14 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 272:278 (1%)300:306 (1%)328:334 (1%)356:362 (1%)384:390 (1%)412:418 (1%)440:446 (1%)475:481 (1%)542:548 (1%)595:601 (1%)... | view | |
| 6 | x 14 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 271:277 (1%)299:305 (1%)327:333 (1%)355:361 (1%)383:389 (1%)411:417 (1%)439:445 (1%)474:480 (1%)541:547 (1%)594:600 (1%)... | view | |
| 6 | x 14 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 270:276 (1%)298:304 (1%)326:332 (1%)354:360 (1%)382:388 (1%)410:416 (1%)438:444 (1%)473:479 (1%)540:546 (1%)593:599 (1%)... | view | |
| 6 | x 12 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 287:293 (1%)315:321 (1%)343:349 (1%)371:377 (1%)399:405 (1%)427:433 (1%)462:468 (1%)528:534 (1%)579:585 (1%)621:627 (1%)... | view | |
| 6 | x 12 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 286:292 (1%)314:320 (1%)342:348 (1%)370:376 (1%)398:404 (1%)426:432 (1%)461:467 (1%)527:533 (1%)578:584 (1%)620:626 (1%)... | view | |
| 6 | x 12 | spark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/dataspark/src/main/java/com/netflix/iceberg/spark/data... | 285:291 (1%)313:319 (1%)341:347 (1%)369:375 (1%)397:403 (1%)425:431 (1%)460:466 (1%)526:532 (1%)577:583 (1%)619:625 (1%)... | view | |
| 6 | x 9 | api/src/main/java/com/netflix/iceberg/transformsspark/src/main/java/com/...ix/iceberg/spark/sourcecore/src/main/java/com/netflix/icebergapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transforms | 104:110 (9%)138:144 (3%)159:165 (6%)136:142 (2%)83:89 (3%)195:201 (2%)256:262 (2%)319:325 (2%)391:397 (2%) | view | |
| 6 | x 7 | api/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/typesapi/src/main/java/com/netflix/iceberg/types | 240:245 (1%)319:324 (1%)388:393 (1%)458:463 (1%)552:557 (1%)677:682 (1%)795:800 (1%) | view | |
| 6 | x 7 | core/src/main/java/com/netflix/iceberg/utilcore/src/main/java/com/netflix/iceberg/utilapi/src/main/java/com/netflix/icebergdata/src/main/java/com/netflix/iceberg/dataapi/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/iceberg | 44:50 (23%)40:47 (15%)183:189 (2%)157:164 (6%)58:64 (20%)281:287 (3%)95:101 (2%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 71:80 (9%)133:142 (3%)112:121 (3%)97:106 (5%)105:114 (4%)104:113 (4%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 76:85 (9%)138:147 (3%)117:126 (3%)102:111 (5%)110:119 (4%)109:118 (4%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 161:169 (3%)185:193 (3%)209:217 (3%)233:241 (3%)257:265 (3%)273:281 (3%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 247:256 (2%)180:189 (4%)194:203 (3%)293:302 (2%)272:281 (2%)279:288 (1%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 234:242 (2%)167:175 (4%)181:189 (3%)280:288 (2%)259:267 (2%)266:274 (1%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 69:76 (9%)131:138 (3%)110:117 (3%)95:102 (5%)103:110 (4%)102:109 (4%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 233:238 (2%)166:171 (4%)180:185 (3%)279:284 (2%)258:263 (2%)265:270 (1%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 74:81 (9%)136:143 (3%)115:122 (3%)100:107 (5%)108:115 (4%)107:114 (4%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 70:79 (9%)132:141 (3%)111:120 (3%)96:105 (5%)104:113 (4%)103:112 (4%) | view | |
| 6 | x 6 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 75:84 (9%)137:146 (3%)116:125 (3%)101:110 (5%)109:118 (4%)108:117 (4%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 229:237 (2%)162:170 (4%)176:184 (3%)275:283 (2%)254:262 (2%)261:269 (1%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 160:166 (3%)184:190 (3%)208:214 (3%)232:238 (3%)256:262 (3%)272:278 (3%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 228:236 (2%)161:169 (4%)175:183 (3%)274:282 (2%)253:261 (2%)260:268 (1%) | view | |
| 6 | x 6 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetpig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/data | 246:252 (2%)179:185 (4%)193:199 (3%)292:298 (2%)271:277 (2%)278:284 (1%) | view | |
| 6 | x 5 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 177:185 (3%)205:213 (3%)233:241 (3%)261:269 (3%)289:297 (3%) | view | |
| 6 | x 5 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 174:183 (3%)202:211 (3%)230:239 (3%)258:267 (3%)286:295 (3%) | view | |
| 6 | x 5 | core/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/iceberg | 174:179 (2%)106:111 (6%)154:159 (4%)95:100 (11%)199:204 (2%) | view | |
| 6 | x 5 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 178:186 (3%)206:214 (3%)234:242 (3%)262:270 (3%)290:298 (3%) | view | |
| 6 | x 5 | core/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/iceberg | 173:178 (2%)105:110 (6%)153:158 (4%)94:99 (11%)198:203 (2%) | view | |
| 6 | x 5 | api/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transformsapi/src/main/java/com/netflix/iceberg/transforms | 132:141 (2%)192:200 (2%)253:261 (2%)316:324 (2%)388:396 (2%) | view | |
| 6 | x 5 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 175:184 (3%)203:212 (3%)231:240 (3%)259:268 (3%)287:296 (3%) | view | |
| 6 | x 5 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 173:180 (3%)201:208 (3%)229:236 (3%)257:264 (3%)285:292 (3%) | view | |
| 6 | x 5 | core/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/icebergcore/src/main/java/com/netflix/iceberg | 175:180 (2%)107:112 (6%)155:160 (4%)96:101 (11%)200:205 (2%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 250:258 (2%)257:265 (1%)271:279 (2%)225:233 (2%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 147:152 (2%)141:146 (1%)142:147 (2%)103:108 (2%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 86:95 (5%)122:131 (3%)93:102 (4%)101:110 (3%) | view | |
| 6 | x 4 | parquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 162:172 (3%)186:196 (3%)210:220 (3%)234:244 (3%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 91:100 (5%)127:136 (3%)98:107 (4%)106:115 (3%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 94:103 (10%)45:54 (23%)97:106 (6%)124:133 (9%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 148:153 (2%)142:147 (1%)143:148 (2%)104:109 (2%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressionsapi/src/main/java/com/netflix/iceberg/expressions | 151:158 (4%)191:198 (4%)169:176 (4%)210:217 (4%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 251:259 (2%)258:266 (1%)272:280 (2%)226:234 (2%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 146:151 (2%)140:145 (1%)141:146 (2%)102:107 (2%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 92:101 (5%)128:137 (3%)99:108 (4%)107:116 (3%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 150:155 (2%)144:149 (1%)145:150 (2%)106:111 (2%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 238:244 (2%)245:251 (1%)259:265 (2%)213:219 (2%) | view | |
| 6 | x 4 | api/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquetapi/src/main/java/com/netflix/iceberg/expressionsparquet/src/main/java/com/netflix/iceberg/parquet | 82:91 (5%)118:127 (3%)89:98 (4%)97:106 (3%) | view | |
| 6 | x 4 | parquet/src/main/java/com/netflix/iceberg/parquetspark/src/main/java/com/netflix/iceberg/spark/datapig/src/main/java/com/netflix/iceberg/pigdata/src/main/java/com/n...ix/iceberg/data/parquet | 98:105 (2%)136:143 (1%)142:149 (2%)137:144 (2%) | view | |
| 6 | x 4 | pig/src/main/java/com/netflix/iceberg/pigspark/src/main/java/com/netflix/iceberg/spark/datadata/src/main/java/com/n...ix/iceberg/data/parquetparquet/src/main/java/com/netflix/iceberg/parquet | 247:253 (2%)254:260 (1%)268:274 (2%)222:228 (2%) | view |
Duplicated Units
The list of top 13 duplicated units.
| Size | # | Folders | Files | Lines | Code |
|---|---|---|---|---|---|
| 21 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 129:157 105:133 | view | |
| 21 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 213:238 187:212 | view | |
| 18 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 160:183 136:159 | view | |
| 12 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquet | 89:105 103:119 | view | |
| 12 | x 3 | parquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 137:153 176:192 175:191 | view | |
| 10 | x 3 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avrospark/src/main/java/com/netflix/iceberg/spark/data | 72:86 70:84 66:80 | view | |
| 10 | x 2 | data/src/main/java/com/n...ix/iceberg/data/parquetspark/src/main/java/com/netflix/iceberg/spark/data | 68:79 69:80 | view | |
| 9 | x 3 | core/src/main/java/com/netflix/iceberg/avrodata/src/main/java/com/netflix/iceberg/data/avrospark/src/main/java/com/netflix/iceberg/spark/data | 59:69 67:77 76:86 | view | |
| 9 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquet | 61:72 75:86 | view | |
| 8 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquet | 122:134 161:173 | view | |
| 7 | x 2 | parquet/src/main/java/com/netflix/iceberg/parquetdata/src/main/java/com/n...ix/iceberg/data/parquet | 75:86 89:100 | view | |
| 6 | x 2 | core/src/main/java/com/netflix/iceberg/avroparquet/src/main/java/com/netflix/iceberg/parquet | 165:174 321:330 | view | |
| 6 | x 2 | spark/src/main/java/com/netflix/iceberg/sparkspark/src/main/java/com/netflix/iceberg/spark | 59:66 58:65 | view |
About This Analysis
- For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
- Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
- You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
- To learn more about duplications and techniques for eliminating duplication, Sokrates recommends the following resources:
- Avoid Repetition, MartinFlower.com (IEEE Software article)
- Refactoring duplicated code, sourcemaking.com
- Beck Design Rules, MartinFowler.com
- DRY (Don't Repeat Yourself) Principle, Wikipedia
- The Cut-and-Paste Programming Software Development Anti-Pattern, sourcemaking.com
- Code Smells / Duplicated Code, Jeff Atwood, codinghorror.com:
- "Duplicated code is the bane of software development. Stamp out duplication whenever possible. You should always be on the lookout for more subtle cases of near-duplication, too. Don't Repeat Yourself!"
- Reducing Coupling, MartinFlower.com (IEEE Software article):
- "There are several ways to describe coupling, but it boils down to this: If changing one module in a program requires changing another module, then coupling exists. ... Duplication always implies coupling, because changing one piece of duplicate code implies changing the other."