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  }