github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/design/accepted/diagrams/routerFs-s3.excalidraw (about) 1 { 2 "type": "excalidraw", 3 "version": 2, 4 "source": "https://excalidraw.com", 5 "elements": [ 6 { 7 "type": "rectangle", 8 "version": 1067, 9 "versionNonce": 1281285616, 10 "isDeleted": false, 11 "id": "yC7E7GuOTOlRPYoU8FJKN", 12 "fillStyle": "solid", 13 "strokeWidth": 1, 14 "strokeStyle": "solid", 15 "roughness": 0, 16 "opacity": 100, 17 "angle": 0, 18 "x": -473.36675902036427, 19 "y": 10785.260116529087, 20 "strokeColor": "#000000", 21 "backgroundColor": "transparent", 22 "width": 621.5894886363639, 23 "height": 449.0092329545447, 24 "seed": 1676854124, 25 "groupIds": [], 26 "strokeSharpness": "sharp", 27 "boundElements": [ 28 { 29 "id": "1NEb5qPyQEcjhrL1U1vPM", 30 "type": "arrow" 31 } 32 ], 33 "updated": 1646583155758, 34 "link": null 35 }, 36 { 37 "type": "text", 38 "version": 322, 39 "versionNonce": 1408907536, 40 "isDeleted": false, 41 "id": "Da3VQshYfYaYh90PxCFhs", 42 "fillStyle": "solid", 43 "strokeWidth": 1, 44 "strokeStyle": "solid", 45 "roughness": 0, 46 "opacity": 100, 47 "angle": 0, 48 "x": -445.60042379309164, 49 "y": 10821.618781301815, 50 "strokeColor": "#000000", 51 "backgroundColor": "transparent", 52 "width": 92.98295454545455, 53 "height": 42.264979338842956, 54 "seed": 471759188, 55 "groupIds": [], 56 "strokeSharpness": "sharp", 57 "boundElements": [], 58 "updated": 1646583155758, 59 "link": null, 60 "fontSize": 33.81198347107439, 61 "fontFamily": 1, 62 "text": "Spark", 63 "baseline": 29.264979338842956, 64 "textAlign": "center", 65 "verticalAlign": "top", 66 "containerId": null, 67 "originalText": "Spark" 68 }, 69 { 70 "type": "rectangle", 71 "version": 1972, 72 "versionNonce": 716021744, 73 "isDeleted": false, 74 "id": "ieqeRS9UdY-ptaEEODzzu", 75 "fillStyle": "solid", 76 "strokeWidth": 1, 77 "strokeStyle": "dashed", 78 "roughness": 0, 79 "opacity": 100, 80 "angle": 0, 81 "x": -146.8717306112735, 82 "y": 10973.040800189494, 83 "strokeColor": "#495057", 84 "backgroundColor": "transparent", 85 "width": 281.368597307614, 86 "height": 240.02812862106552, 87 "seed": 371160556, 88 "groupIds": [ 89 "rlIhyT9n0dG7fsHaVAmTd" 90 ], 91 "strokeSharpness": "sharp", 92 "boundElements": [ 93 { 94 "id": "CrSVndb4oaVxhZXiBrr0e", 95 "type": "arrow" 96 }, 97 { 98 "id": "XQJSHZ90m60vcBHVeEE2k", 99 "type": "arrow" 100 }, 101 { 102 "id": "FQYdW0HXgmAe4byGuCOWW", 103 "type": "arrow" 104 } 105 ], 106 "updated": 1646583155758, 107 "link": null 108 }, 109 { 110 "type": "text", 111 "version": 519, 112 "versionNonce": 1483773712, 113 "isDeleted": false, 114 "id": "XmmzMjaSoNAqf7aDcMMsD", 115 "fillStyle": "solid", 116 "strokeWidth": 1, 117 "strokeStyle": "dashed", 118 "roughness": 0, 119 "opacity": 100, 120 "angle": 0, 121 "x": -126.9946632299243, 122 "y": 10993.718981687092, 123 "strokeColor": "#0b7285", 124 "backgroundColor": "transparent", 125 "width": 168, 126 "height": 26, 127 "seed": 1982607060, 128 "groupIds": [ 129 "rlIhyT9n0dG7fsHaVAmTd" 130 ], 131 "strokeSharpness": "sharp", 132 "boundElements": [ 133 { 134 "id": "fkWvA8Tlgk-kmeCS_lxpK", 135 "type": "arrow" 136 }, 137 { 138 "id": "0jTyJi6wQ19NRfsFmUpE0", 139 "type": "arrow" 140 } 141 ], 142 "updated": 1646583155758, 143 "link": null, 144 "fontSize": 20.14515099363079, 145 "fontFamily": 1, 146 "text": "RouterFileSystem", 147 "baseline": 18, 148 "textAlign": "center", 149 "verticalAlign": "top", 150 "containerId": null, 151 "originalText": "RouterFileSystem" 152 }, 153 { 154 "type": "rectangle", 155 "version": 2866, 156 "versionNonce": 366223856, 157 "isDeleted": false, 158 "id": "gBdhqy398DemVQm1PfepX", 159 "fillStyle": "solid", 160 "strokeWidth": 2, 161 "strokeStyle": "solid", 162 "roughness": 0, 163 "opacity": 100, 164 "angle": 0, 165 "x": -85.10058769169234, 166 "y": 11420.971573041323, 167 "strokeColor": "#495057", 168 "backgroundColor": "transparent", 169 "width": 219.39950284090912, 170 "height": 154.09910402097873, 171 "seed": 1964103788, 172 "groupIds": [], 173 "strokeSharpness": "sharp", 174 "boundElements": [ 175 { 176 "id": "DBky2i1DiWuXoTUoXpoXm", 177 "type": "text" 178 }, 179 { 180 "id": "XQJSHZ90m60vcBHVeEE2k", 181 "type": "arrow" 182 }, 183 { 184 "id": "Fuiz28ro6kddH8Z6FeJIE", 185 "type": "arrow" 186 }, 187 { 188 "id": "fGFOrIt4odl5MKaC9cLIP", 189 "type": "arrow" 190 }, 191 { 192 "id": "DBky2i1DiWuXoTUoXpoXm", 193 "type": "text" 194 }, 195 { 196 "id": "DBky2i1DiWuXoTUoXpoXm", 197 "type": "text" 198 }, 199 { 200 "id": "9H6WLKhQGZG4pbz1FHcAb", 201 "type": "arrow" 202 }, 203 { 204 "id": "DBky2i1DiWuXoTUoXpoXm", 205 "type": "text" 206 }, 207 { 208 "id": "BRMlFsqcw2PEF37S7SqOu", 209 "type": "arrow" 210 }, 211 { 212 "type": "text", 213 "id": "DBky2i1DiWuXoTUoXpoXm" 214 } 215 ], 216 "updated": 1646583155758, 217 "link": null 218 }, 219 { 220 "type": "text", 221 "version": 2774, 222 "versionNonce": 2053846288, 223 "isDeleted": false, 224 "id": "DBky2i1DiWuXoTUoXpoXm", 225 "fillStyle": "solid", 226 "strokeWidth": 1, 227 "strokeStyle": "solid", 228 "roughness": 0, 229 "opacity": 100, 230 "angle": 0, 231 "x": -80.10058769169234, 232 "y": 11478.021125051815, 233 "strokeColor": "#495057", 234 "backgroundColor": "transparent", 235 "width": 209.39950284090912, 236 "height": 40, 237 "seed": 2145858644, 238 "groupIds": [], 239 "strokeSharpness": "sharp", 240 "boundElements": [], 241 "updated": 1646583155758, 242 "link": null, 243 "fontSize": 16, 244 "fontFamily": 1, 245 "text": "Underlying\nFileSystem", 246 "baseline": 34, 247 "textAlign": "center", 248 "verticalAlign": "middle", 249 "containerId": "gBdhqy398DemVQm1PfepX", 250 "originalText": "Underlying\nFileSystem" 251 }, 252 { 253 "type": "text", 254 "version": 1777, 255 "versionNonce": 484074480, 256 "isDeleted": false, 257 "id": "Zc6HHdfG2pI9nVsVLullZ", 258 "fillStyle": "solid", 259 "strokeWidth": 1, 260 "strokeStyle": "solid", 261 "roughness": 0, 262 "opacity": 100, 263 "angle": 0, 264 "x": -796.7275544749095, 265 "y": 10928.878369369999, 266 "strokeColor": "#000000", 267 "backgroundColor": "transparent", 268 "width": 224, 269 "height": 40, 270 "seed": 1016326892, 271 "groupIds": [], 272 "strokeSharpness": "sharp", 273 "boundElements": [ 274 { 275 "id": "CrSVndb4oaVxhZXiBrr0e", 276 "type": "arrow" 277 } 278 ], 279 "updated": 1646583155758, 280 "link": null, 281 "fontSize": 16, 282 "fontFamily": 1, 283 "text": "(1) spark.read.parquet\n(\"s3a://bucket/bar.parquet\")", 284 "baseline": 34, 285 "textAlign": "left", 286 "verticalAlign": "top", 287 "containerId": null, 288 "originalText": "(1) spark.read.parquet\n(\"s3a://bucket/bar.parquet\")" 289 }, 290 { 291 "type": "rectangle", 292 "version": 605, 293 "versionNonce": 2137133840, 294 "isDeleted": false, 295 "id": "Dc-KDjc7R5L6d2XSUcSuq", 296 "fillStyle": "solid", 297 "strokeWidth": 1, 298 "strokeStyle": "solid", 299 "roughness": 0, 300 "opacity": 100, 301 "angle": 0, 302 "x": -1005.5329522021825, 303 "y": 10925.615230165455, 304 "strokeColor": "#000000", 305 "backgroundColor": "transparent", 306 "width": 165, 307 "height": 139.90767045454598, 308 "seed": 1998948820, 309 "groupIds": [], 310 "strokeSharpness": "sharp", 311 "boundElements": [ 312 { 313 "id": "WcMhQcTaMUF0RQ6UJh4xQ", 314 "type": "text" 315 }, 316 { 317 "id": "1NEb5qPyQEcjhrL1U1vPM", 318 "type": "arrow" 319 }, 320 { 321 "id": "WcMhQcTaMUF0RQ6UJh4xQ", 322 "type": "text" 323 }, 324 { 325 "type": "text", 326 "id": "WcMhQcTaMUF0RQ6UJh4xQ" 327 } 328 ], 329 "updated": 1646583155758, 330 "link": null 331 }, 332 { 333 "type": "text", 334 "version": 503, 335 "versionNonce": 768108016, 336 "isDeleted": false, 337 "id": "WcMhQcTaMUF0RQ6UJh4xQ", 338 "fillStyle": "solid", 339 "strokeWidth": 1, 340 "strokeStyle": "solid", 341 "roughness": 0, 342 "opacity": 100, 343 "angle": 0, 344 "x": -1000.5329522021825, 345 "y": 10983.069065392727, 346 "strokeColor": "#000000", 347 "backgroundColor": "transparent", 348 "width": 155, 349 "height": 25, 350 "seed": 523218284, 351 "groupIds": [], 352 "strokeSharpness": "sharp", 353 "boundElements": [], 354 "updated": 1646583155758, 355 "link": null, 356 "fontSize": 20, 357 "fontFamily": 1, 358 "text": "Spark client", 359 "baseline": 18, 360 "textAlign": "center", 361 "verticalAlign": "middle", 362 "containerId": "Dc-KDjc7R5L6d2XSUcSuq", 363 "originalText": "Spark client" 364 }, 365 { 366 "type": "arrow", 367 "version": 577, 368 "versionNonce": 1036857616, 369 "isDeleted": false, 370 "id": "1NEb5qPyQEcjhrL1U1vPM", 371 "fillStyle": "solid", 372 "strokeWidth": 1, 373 "strokeStyle": "solid", 374 "roughness": 0, 375 "opacity": 100, 376 "angle": 0, 377 "x": -838.9633499294553, 378 "y": 10998.164946074547, 379 "strokeColor": "#000000", 380 "backgroundColor": "transparent", 381 "width": 360.938193260278, 382 "height": 0.12462023666921596, 383 "seed": 1862086484, 384 "groupIds": [], 385 "strokeSharpness": "round", 386 "boundElements": [], 387 "updated": 1646583155758, 388 "link": null, 389 "startBinding": { 390 "elementId": "Dc-KDjc7R5L6d2XSUcSuq", 391 "focus": 0.036678609479084294, 392 "gap": 1.569602272727252 393 }, 394 "endBinding": { 395 "elementId": "yC7E7GuOTOlRPYoU8FJKN", 396 "focus": 0.05060395181514407, 397 "gap": 4.658397648812979 398 }, 399 "lastCommittedPoint": null, 400 "startArrowhead": null, 401 "endArrowhead": "arrow", 402 "points": [ 403 [ 404 0, 405 0 406 ], 407 [ 408 360.938193260278, 409 0.12462023666921596 410 ] 411 ] 412 }, 413 { 414 "type": "arrow", 415 "version": 1468, 416 "versionNonce": 900081648, 417 "isDeleted": false, 418 "id": "FQYdW0HXgmAe4byGuCOWW", 419 "fillStyle": "solid", 420 "strokeWidth": 1, 421 "strokeStyle": "solid", 422 "roughness": 0, 423 "opacity": 100, 424 "angle": 0, 425 "x": -384.9678421936775, 426 "y": 10883.075804441909, 427 "strokeColor": "#000000", 428 "backgroundColor": "transparent", 429 "width": 226.78526694383834, 430 "height": 112.57526653117111, 431 "seed": 1848582124, 432 "groupIds": [], 433 "strokeSharpness": "round", 434 "boundElements": [], 435 "updated": 1646583155758, 436 "link": null, 437 "startBinding": null, 438 "endBinding": { 439 "elementId": "ieqeRS9UdY-ptaEEODzzu", 440 "focus": 0.11563935057966594, 441 "gap": 11.31084463856564 442 }, 443 "lastCommittedPoint": null, 444 "startArrowhead": null, 445 "endArrowhead": "arrow", 446 "points": [ 447 [ 448 0, 449 0 450 ], 451 [ 452 226.78526694383834, 453 112.57526653117111 454 ] 455 ] 456 }, 457 { 458 "type": "text", 459 "version": 2441, 460 "versionNonce": 2099547920, 461 "isDeleted": false, 462 "id": "W5rux-rRe3SF09L11uBaC", 463 "fillStyle": "solid", 464 "strokeWidth": 1, 465 "strokeStyle": "solid", 466 "roughness": 0, 467 "opacity": 100, 468 "angle": 0, 469 "x": -283.85823629309175, 470 "y": 10912.726735847275, 471 "strokeColor": "#000000", 472 "backgroundColor": "transparent", 473 "width": 309, 474 "height": 20, 475 "seed": 667165908, 476 "groupIds": [], 477 "strokeSharpness": "sharp", 478 "boundElements": [ 479 { 480 "id": "CrSVndb4oaVxhZXiBrr0e", 481 "type": "arrow" 482 } 483 ], 484 "updated": 1646583155758, 485 "link": null, 486 "fontSize": 16, 487 "fontFamily": 1, 488 "text": "(2) fs.open(\"s3a://bucket/bar.parquet\")", 489 "baseline": 14, 490 "textAlign": "left", 491 "verticalAlign": "top", 492 "containerId": null, 493 "originalText": "(2) fs.open(\"s3a://bucket/bar.parquet\")" 494 }, 495 { 496 "type": "rectangle", 497 "version": 2117, 498 "versionNonce": 1081846256, 499 "isDeleted": false, 500 "id": "3jhtA5LulVj1Rn2gasyOp", 501 "fillStyle": "solid", 502 "strokeWidth": 1, 503 "strokeStyle": "dashed", 504 "roughness": 0, 505 "opacity": 100, 506 "angle": 0, 507 "x": -130.46015390672812, 508 "y": 11112.516317359521, 509 "strokeColor": "#000000", 510 "backgroundColor": "transparent", 511 "width": 251.18963068181827, 512 "height": 87.39100743006965, 513 "seed": 541136108, 514 "groupIds": [], 515 "strokeSharpness": "sharp", 516 "boundElements": [ 517 { 518 "id": "cH3It9H7u1tWZLIlUol7a", 519 "type": "text" 520 }, 521 { 522 "id": "XQJSHZ90m60vcBHVeEE2k", 523 "type": "arrow" 524 }, 525 { 526 "id": "Fuiz28ro6kddH8Z6FeJIE", 527 "type": "arrow" 528 }, 529 { 530 "id": "fGFOrIt4odl5MKaC9cLIP", 531 "type": "arrow" 532 }, 533 { 534 "id": "cH3It9H7u1tWZLIlUol7a", 535 "type": "text" 536 }, 537 { 538 "id": "cH3It9H7u1tWZLIlUol7a", 539 "type": "text" 540 }, 541 { 542 "id": "cH3It9H7u1tWZLIlUol7a", 543 "type": "text" 544 }, 545 { 546 "id": "fkWvA8Tlgk-kmeCS_lxpK", 547 "type": "arrow" 548 }, 549 { 550 "id": "0jTyJi6wQ19NRfsFmUpE0", 551 "type": "arrow" 552 }, 553 { 554 "id": "9H6WLKhQGZG4pbz1FHcAb", 555 "type": "arrow" 556 }, 557 { 558 "id": "cH3It9H7u1tWZLIlUol7a", 559 "type": "text" 560 }, 561 { 562 "type": "text", 563 "id": "cH3It9H7u1tWZLIlUol7a" 564 } 565 ], 566 "updated": 1646583155758, 567 "link": null 568 }, 569 { 570 "type": "text", 571 "version": 2061, 572 "versionNonce": 1440754960, 573 "isDeleted": false, 574 "id": "cH3It9H7u1tWZLIlUol7a", 575 "fillStyle": "solid", 576 "strokeWidth": 1, 577 "strokeStyle": "solid", 578 "roughness": 0, 579 "opacity": 100, 580 "angle": 0, 581 "x": -125.46015390672812, 582 "y": 11146.211821074558, 583 "strokeColor": "#000000", 584 "backgroundColor": "transparent", 585 "width": 241.18963068181827, 586 "height": 20, 587 "seed": 1337458644, 588 "groupIds": [], 589 "strokeSharpness": "sharp", 590 "boundElements": [], 591 "updated": 1646583155758, 592 "link": null, 593 "fontSize": 16, 594 "fontFamily": 1, 595 "text": "Path Mapper", 596 "baseline": 14, 597 "textAlign": "center", 598 "verticalAlign": "middle", 599 "containerId": "3jhtA5LulVj1Rn2gasyOp", 600 "originalText": "Path Mapper" 601 }, 602 { 603 "type": "arrow", 604 "version": 653, 605 "versionNonce": 424733680, 606 "isDeleted": false, 607 "id": "fkWvA8Tlgk-kmeCS_lxpK", 608 "fillStyle": "solid", 609 "strokeWidth": 1, 610 "strokeStyle": "solid", 611 "roughness": 0, 612 "opacity": 100, 613 "angle": 0, 614 "x": -113.03559435502484, 615 "y": 11022.930571074554, 616 "strokeColor": "#000000", 617 "backgroundColor": "transparent", 618 "width": 12.90893349308908, 619 "height": 74.44957386363694, 620 "seed": 665294700, 621 "groupIds": [], 622 "strokeSharpness": "round", 623 "boundElements": [], 624 "updated": 1646583155758, 625 "link": null, 626 "startBinding": { 627 "elementId": "XmmzMjaSoNAqf7aDcMMsD", 628 "focus": 0.8446194733014178, 629 "gap": 3.211589387461572 630 }, 631 "endBinding": { 632 "elementId": "3jhtA5LulVj1Rn2gasyOp", 633 "focus": -0.6387294666791947, 634 "gap": 15.136172421331139 635 }, 636 "lastCommittedPoint": null, 637 "startArrowhead": null, 638 "endArrowhead": "arrow", 639 "points": [ 640 [ 641 0, 642 0 643 ], 644 [ 645 12.90893349308908, 646 74.44957386363694 647 ] 648 ] 649 }, 650 { 651 "type": "text", 652 "version": 614, 653 "versionNonce": 293079824, 654 "isDeleted": false, 655 "id": "RrzsGHlBxHXLfAFftCbKf", 656 "fillStyle": "solid", 657 "strokeWidth": 1, 658 "strokeStyle": "solid", 659 "roughness": 0, 660 "opacity": 100, 661 "angle": 0, 662 "x": -465.66079311127396, 663 "y": 11024.135471642734, 664 "strokeColor": "#000000", 665 "backgroundColor": "transparent", 666 "width": 304, 667 "height": 36, 668 "seed": 969991508, 669 "groupIds": [], 670 "strokeSharpness": "sharp", 671 "boundElements": [], 672 "updated": 1646583155758, 673 "link": null, 674 "fontSize": 14.38702239789197, 675 "fontFamily": 1, 676 "text": "(3) mapPath(\"s3a://bucket/bar.parquet\") =\n \"s3a1://another-bucket/bar.parquet\"", 677 "baseline": 31, 678 "textAlign": "left", 679 "verticalAlign": "top", 680 "containerId": null, 681 "originalText": "(3) mapPath(\"s3a://bucket/bar.parquet\") =\n \"s3a1://another-bucket/bar.parquet\"" 682 }, 683 { 684 "type": "arrow", 685 "version": 2363, 686 "versionNonce": 1781394928, 687 "isDeleted": false, 688 "id": "9H6WLKhQGZG4pbz1FHcAb", 689 "fillStyle": "solid", 690 "strokeWidth": 1, 691 "strokeStyle": "solid", 692 "roughness": 0, 693 "opacity": 100, 694 "angle": 0, 695 "x": 17.327381980682958, 696 "y": 11203.66962128153, 697 "strokeColor": "#000000", 698 "backgroundColor": "transparent", 699 "width": 0.6455749537642532, 700 "height": 216.4010428563779, 701 "seed": 179378900, 702 "groupIds": [], 703 "strokeSharpness": "round", 704 "boundElements": [], 705 "updated": 1646583155758, 706 "link": null, 707 "startBinding": { 708 "elementId": "3jhtA5LulVj1Rn2gasyOp", 709 "focus": -0.17539163361672963, 710 "gap": 3.762296491939196 711 }, 712 "endBinding": { 713 "elementId": "gBdhqy398DemVQm1PfepX", 714 "focus": -0.058161421914003725, 715 "gap": 1 716 }, 717 "lastCommittedPoint": null, 718 "startArrowhead": null, 719 "endArrowhead": "arrow", 720 "points": [ 721 [ 722 0, 723 0 724 ], 725 [ 726 0.6455749537642532, 727 216.4010428563779 728 ] 729 ] 730 }, 731 { 732 "type": "ellipse", 733 "version": 2648, 734 "versionNonce": 174336272, 735 "isDeleted": false, 736 "id": "b3W68IznxdZiXe05buWOq", 737 "fillStyle": "solid", 738 "strokeWidth": 2, 739 "strokeStyle": "solid", 740 "roughness": 0, 741 "opacity": 100, 742 "angle": 0, 743 "x": 2.5459183757691335, 744 "y": 11700.938927492949, 745 "strokeColor": "#fe4b4b", 746 "backgroundColor": "#fe4b4b", 747 "width": 74.05101102941174, 748 "height": 76.09604779411757, 749 "seed": 144813164, 750 "groupIds": [ 751 "XQ8x1PLkCHtnOJFUCmjlj" 752 ], 753 "strokeSharpness": "sharp", 754 "boundElements": [ 755 { 756 "id": "fGFOrIt4odl5MKaC9cLIP", 757 "type": "arrow" 758 }, 759 { 760 "id": "BRMlFsqcw2PEF37S7SqOu", 761 "type": "arrow" 762 } 763 ], 764 "updated": 1646583155758, 765 "link": null 766 }, 767 { 768 "type": "line", 769 "version": 2880, 770 "versionNonce": 1545252848, 771 "isDeleted": false, 772 "id": "2JBh2kZGvYwJozievqVlH", 773 "fillStyle": "solid", 774 "strokeWidth": 2, 775 "strokeStyle": "solid", 776 "roughness": 0, 777 "opacity": 100, 778 "angle": 0, 779 "x": 20.335414658055697, 780 "y": 11723.500091255704, 781 "strokeColor": "#fff", 782 "backgroundColor": "#fe4b4b", 783 "width": 38.57263165181928, 784 "height": 41.261250243036045, 785 "seed": 216965204, 786 "groupIds": [ 787 "XQ8x1PLkCHtnOJFUCmjlj" 788 ], 789 "strokeSharpness": "round", 790 "boundElements": [], 791 "updated": 1646583155758, 792 "link": null, 793 "startBinding": null, 794 "endBinding": null, 795 "lastCommittedPoint": null, 796 "startArrowhead": null, 797 "endArrowhead": null, 798 "points": [ 799 [ 800 0, 801 0 802 ], 803 [ 804 3.8452774439103905, 805 32.14685684595355 806 ], 807 [ 808 6.768312737880933, 809 37.98883103590748 810 ], 811 [ 812 20.34867663261207, 813 40.48662140675077 814 ], 815 [ 816 32.537268066406114, 817 38.400380608974274 818 ], 819 [ 820 35.36686823918285, 821 31.944173177083314 822 ], 823 [ 824 38.295773237179446, 825 0.09767190004004078 826 ], 827 [ 828 37.42304967359553, 829 -0.7746288362852738 830 ], 831 [ 832 -0.2768584146398325, 833 0.06636381077350961 834 ] 835 ] 836 }, 837 { 838 "type": "ellipse", 839 "version": 1858, 840 "versionNonce": 203196176, 841 "isDeleted": false, 842 "id": "COb31AdR5MgAXyJNZRhaf", 843 "fillStyle": "solid", 844 "strokeWidth": 2, 845 "strokeStyle": "solid", 846 "roughness": 0, 847 "opacity": 100, 848 "angle": 0, 849 "x": 19.6856783888486, 850 "y": 11718.287983500944, 851 "strokeColor": "#fff", 852 "backgroundColor": "#fe4b4b", 853 "width": 39.10563151041674, 854 "height": 10.753995455228363, 855 "seed": 1997094636, 856 "groupIds": [ 857 "XQ8x1PLkCHtnOJFUCmjlj" 858 ], 859 "strokeSharpness": "round", 860 "boundElements": [ 861 { 862 "id": "BRMlFsqcw2PEF37S7SqOu", 863 "type": "arrow" 864 } 865 ], 866 "updated": 1646583155758, 867 "link": null 868 }, 869 { 870 "type": "ellipse", 871 "version": 1866, 872 "versionNonce": 924791280, 873 "isDeleted": false, 874 "id": "FYrjI4_4K-EnnXd04-mOW", 875 "fillStyle": "solid", 876 "strokeWidth": 1, 877 "strokeStyle": "solid", 878 "roughness": 0, 879 "opacity": 100, 880 "angle": 0, 881 "x": 36.81388289105257, 882 "y": 11734.428950728194, 883 "strokeColor": "#fff", 884 "backgroundColor": "#fff", 885 "width": 4.69818115234375, 886 "height": 4.69818115234375, 887 "seed": 1214215636, 888 "groupIds": [ 889 "XQ8x1PLkCHtnOJFUCmjlj" 890 ], 891 "strokeSharpness": "round", 892 "boundElements": [], 893 "updated": 1646583155758, 894 "link": null 895 }, 896 { 897 "type": "line", 898 "version": 1873, 899 "versionNonce": 857285904, 900 "isDeleted": false, 901 "id": "oj2ntzMHO_5G3LYEKOGpZ", 902 "fillStyle": "solid", 903 "strokeWidth": 2, 904 "strokeStyle": "solid", 905 "roughness": 0, 906 "opacity": 100, 907 "angle": 0, 908 "x": 38.77454889047499, 909 "y": 11737.991087419421, 910 "strokeColor": "#fff", 911 "backgroundColor": "transparent", 912 "width": 21.691176470588175, 913 "height": 10.480238970588175, 914 "seed": 131760492, 915 "groupIds": [ 916 "XQ8x1PLkCHtnOJFUCmjlj" 917 ], 918 "strokeSharpness": "round", 919 "boundElements": [], 920 "updated": 1646583155758, 921 "link": null, 922 "startBinding": null, 923 "endBinding": null, 924 "lastCommittedPoint": null, 925 "startArrowhead": null, 926 "endArrowhead": null, 927 "points": [ 928 [ 929 0, 930 0 931 ], 932 [ 933 -10.181525735294144, 934 7.120863970588175 935 ], 936 [ 937 -21.691176470588175, 938 10.480238970588175 939 ], 940 [ 941 -20.045955882352928, 942 3.120404411764639 943 ] 944 ] 945 }, 946 { 947 "type": "arrow", 948 "version": 3881, 949 "versionNonce": 37975024, 950 "isDeleted": false, 951 "id": "BRMlFsqcw2PEF37S7SqOu", 952 "fillStyle": "solid", 953 "strokeWidth": 1, 954 "strokeStyle": "solid", 955 "roughness": 0, 956 "opacity": 100, 957 "angle": 0, 958 "x": 20.31863562547674, 959 "y": 11578.165366930796, 960 "strokeColor": "#495057", 961 "backgroundColor": "transparent", 962 "width": 0.3070306912032379, 963 "height": 127.4992160171605, 964 "seed": 1511627604, 965 "groupIds": [], 966 "strokeSharpness": "round", 967 "boundElements": [], 968 "updated": 1646583155758, 969 "link": null, 970 "startBinding": { 971 "elementId": "gBdhqy398DemVQm1PfepX", 972 "focus": 0.0412932081893263, 973 "gap": 3.094689868495152 974 }, 975 "endBinding": { 976 "elementId": "COb31AdR5MgAXyJNZRhaf", 977 "focus": -0.9497085868936416, 978 "gap": 15.796252566456491 979 }, 980 "lastCommittedPoint": null, 981 "startArrowhead": null, 982 "endArrowhead": "arrow", 983 "points": [ 984 [ 985 0, 986 0 987 ], 988 [ 989 0.3070306912032379, 990 127.4992160171605 991 ] 992 ] 993 }, 994 { 995 "type": "text", 996 "version": 1915, 997 "versionNonce": 1288831760, 998 "isDeleted": false, 999 "id": "_H08nL_GBJHNTdof0u0N_", 1000 "fillStyle": "solid", 1001 "strokeWidth": 1, 1002 "strokeStyle": "solid", 1003 "roughness": 0, 1004 "opacity": 100, 1005 "angle": 0, 1006 "x": -333.5963536444908, 1007 "y": 11632.145769134768, 1008 "strokeColor": "#000000", 1009 "backgroundColor": "transparent", 1010 "width": 347, 1011 "height": 20, 1012 "seed": 576680940, 1013 "groupIds": [], 1014 "strokeSharpness": "sharp", 1015 "boundElements": [], 1016 "updated": 1646583155759, 1017 "link": null, 1018 "fontSize": 16, 1019 "fontFamily": 1, 1020 "text": "(6) getObject(\"another-bucket/bar.parquet\")", 1021 "baseline": 14, 1022 "textAlign": "left", 1023 "verticalAlign": "top", 1024 "containerId": null, 1025 "originalText": "(6) getObject(\"another-bucket/bar.parquet\")" 1026 }, 1027 { 1028 "type": "text", 1029 "version": 2421, 1030 "versionNonce": 596604400, 1031 "isDeleted": false, 1032 "id": "nzw6MYsvM8QihELZB9QjE", 1033 "fillStyle": "solid", 1034 "strokeWidth": 1, 1035 "strokeStyle": "solid", 1036 "roughness": 0, 1037 "opacity": 100, 1038 "angle": 0, 1039 "x": -1116.9186329277068, 1040 "y": 10701.303235519474, 1041 "strokeColor": "#e67700", 1042 "backgroundColor": "transparent", 1043 "width": 735, 1044 "height": 40, 1045 "seed": 1282609364, 1046 "groupIds": [], 1047 "strokeSharpness": "sharp", 1048 "boundElements": [ 1049 { 1050 "id": "CrSVndb4oaVxhZXiBrr0e", 1051 "type": "arrow" 1052 } 1053 ], 1054 "updated": 1646583155759, 1055 "link": null, 1056 "fontSize": 31.895900106837598, 1057 "fontFamily": 1, 1058 "text": "Read an object directly from the object store", 1059 "baseline": 28, 1060 "textAlign": "left", 1061 "verticalAlign": "top", 1062 "containerId": null, 1063 "originalText": "Read an object directly from the object store" 1064 }, 1065 { 1066 "type": "text", 1067 "version": 331, 1068 "versionNonce": 1831332336, 1069 "isDeleted": false, 1070 "id": "Nke-fJbeIyANcn7FXcGs0", 1071 "fillStyle": "solid", 1072 "strokeWidth": 2, 1073 "strokeStyle": "solid", 1074 "roughness": 0, 1075 "opacity": 100, 1076 "angle": 0, 1077 "x": -422.42865502366635, 1078 "y": 11071.943702691193, 1079 "strokeColor": "#5c940d", 1080 "backgroundColor": "transparent", 1081 "width": 237, 1082 "height": 25, 1083 "seed": 883037804, 1084 "groupIds": [], 1085 "strokeSharpness": "sharp", 1086 "boundElements": [], 1087 "updated": 1646583176355, 1088 "link": null, 1089 "fontSize": 20, 1090 "fontFamily": 1, 1091 "text": "Path has mapping config", 1092 "baseline": 18, 1093 "textAlign": "left", 1094 "verticalAlign": "top", 1095 "containerId": null, 1096 "originalText": "Path has mapping config" 1097 }, 1098 { 1099 "type": "text", 1100 "version": 2296, 1101 "versionNonce": 735216, 1102 "isDeleted": false, 1103 "id": "wI36eZDLVjmchoDrttx5M", 1104 "fillStyle": "solid", 1105 "strokeWidth": 1, 1106 "strokeStyle": "solid", 1107 "roughness": 0, 1108 "opacity": 100, 1109 "angle": 0, 1110 "x": -1148.1389672808536, 1111 "y": 11110.217933528274, 1112 "strokeColor": "#a61e4d", 1113 "backgroundColor": "transparent", 1114 "width": 527, 1115 "height": 500, 1116 "seed": 1137775596, 1117 "groupIds": [], 1118 "strokeSharpness": "sharp", 1119 "boundElements": [], 1120 "updated": 1646583155759, 1121 "link": null, 1122 "fontSize": 14.914062500000005, 1123 "fontFamily": 1, 1124 "text": "Spark Configurations = { \n //\n // File system configurations\n //\n\n // Any fs operation first reaching RouterFS \n fs.s3a.impl=RouterFileSystem\n \n // Configuration of a file system that accesses objects on s3\n fs.s3a1.impl=S3AFileSystem\n fs.s3a1.access.key='AKIAws12345EXAMPLE' \n fs.s3a1.secret.key='abc/aws/1234567bPxRfiCYEXAMPLEKEY' \n fs.s3a1.endpoint=null //use default\n \n \n //\n // Path mapping configurations \n //\n routerfs.mapping.1.s3a1.replace = '^s3a://bucket'\n routerfs.mapping.1.s3a1.with = 's3a1://another-bucket'\n\n // Default mapping, should be applied last \n routerfs.mapping.default.replace = '^s3a://'\n routerfs.mapping.default.with = 's3a-wrapped://\n}\n \n", 1125 "baseline": 494, 1126 "textAlign": "left", 1127 "verticalAlign": "top", 1128 "containerId": null, 1129 "originalText": "Spark Configurations = { \n //\n // File system configurations\n //\n\n // Any fs operation first reaching RouterFS \n fs.s3a.impl=RouterFileSystem\n \n // Configuration of a file system that accesses objects on s3\n fs.s3a1.impl=S3AFileSystem\n fs.s3a1.access.key='AKIAws12345EXAMPLE' \n fs.s3a1.secret.key='abc/aws/1234567bPxRfiCYEXAMPLEKEY' \n fs.s3a1.endpoint=null //use default\n \n \n //\n // Path mapping configurations \n //\n routerfs.mapping.1.s3a1.replace = '^s3a://bucket'\n routerfs.mapping.1.s3a1.with = 's3a1://another-bucket'\n\n // Default mapping, should be applied last \n routerfs.mapping.default.replace = '^s3a://'\n routerfs.mapping.default.with = 's3a-wrapped://\n}\n \n" 1130 }, 1131 { 1132 "type": "text", 1133 "version": 2525, 1134 "versionNonce": 1129873168, 1135 "isDeleted": false, 1136 "id": "D_zvCcc5G7bE6wvBZZW0h", 1137 "fillStyle": "solid", 1138 "strokeWidth": 1, 1139 "strokeStyle": "solid", 1140 "roughness": 0, 1141 "opacity": 100, 1142 "angle": 0, 1143 "x": 163.86103271914635, 1144 "y": 11084.143714778273, 1145 "strokeColor": "#000000", 1146 "backgroundColor": "transparent", 1147 "width": 809, 1148 "height": 100, 1149 "seed": 1891628268, 1150 "groupIds": [], 1151 "strokeSharpness": "sharp", 1152 "boundElements": [], 1153 "updated": 1646583155759, 1154 "link": null, 1155 "fontSize": 16, 1156 "fontFamily": 1, 1157 "text": "\n(4) get the right underlying file system that interacts with the right object storage\n4.1 translatedPath = \"s3a1://another-bucket/bar.parquet\"\n4.2 underlyingFS = translatedPath.getFileSystem() // S3AFileSystem according to Spark configurations\n", 1158 "baseline": 94, 1159 "textAlign": "left", 1160 "verticalAlign": "top", 1161 "containerId": null, 1162 "originalText": "\n(4) get the right underlying file system that interacts with the right object storage\n4.1 translatedPath = \"s3a1://another-bucket/bar.parquet\"\n4.2 underlyingFS = translatedPath.getFileSystem() // S3AFileSystem according to Spark configurations\n" 1163 }, 1164 { 1165 "type": "text", 1166 "version": 411, 1167 "versionNonce": 465484272, 1168 "isDeleted": false, 1169 "id": "WGLDD9s0RVmLrxQ2RGnc-", 1170 "fillStyle": "solid", 1171 "strokeWidth": 1, 1172 "strokeStyle": "solid", 1173 "roughness": 0, 1174 "opacity": 100, 1175 "angle": 0, 1176 "x": 52.92743896914635, 1177 "y": 11297.874183528273, 1178 "strokeColor": "#000000", 1179 "backgroundColor": "transparent", 1180 "width": 469, 1181 "height": 60, 1182 "seed": 1667877996, 1183 "groupIds": [], 1184 "strokeSharpness": "sharp", 1185 "boundElements": [], 1186 "updated": 1646583155759, 1187 "link": null, 1188 "fontSize": 16, 1189 "fontFamily": 1, 1190 "text": "(5) Use the underlying file system to read \n underlyingFS.open(\"s3a1://another-bucket/bar.parquet\") \n", 1191 "baseline": 54, 1192 "textAlign": "left", 1193 "verticalAlign": "top", 1194 "containerId": null, 1195 "originalText": "(5) Use the underlying file system to read \n underlyingFS.open(\"s3a1://another-bucket/bar.parquet\") \n" 1196 } 1197 ], 1198 "appState": { 1199 "gridSize": null, 1200 "viewBackgroundColor": "#ffffff" 1201 }, 1202 "files": {} 1203 }