| |
| <!doctype html> |
| <html lang="en" class="no-js"> |
| <head> |
| |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| |
| |
| |
| |
| <link rel="prev" href="../api/"> |
| |
| |
| <link rel="next" href="../table-migration/"> |
| |
| |
| <link rel="icon" href="../../../assets/images/favicon-96x96.png"> |
| <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.3"> |
| |
| |
| |
| <title>Java Custom Catalog - Apache Iceberg</title> |
| |
| |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/main.50c56a3b.min.css"> |
| |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito+Sans:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> |
| <style>:root{--md-text-font:"Nunito Sans";--md-code-font:"Roboto Mono"}</style> |
| |
| |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/extra.css"> |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/bootstrap-grid.css"> |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/bootstrap-buttons.css"> |
| |
| <link rel="stylesheet" href="../../../assets/stylesheets/home.css"> |
| |
| <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> |
| |
| |
| |
| |
| |
| |
| </head> |
| |
| |
| |
| |
| |
| |
| |
| <body dir="ltr" data-md-color-scheme="iceberg" data-md-color-primary="indigo" data-md-color-accent="indigo"> |
| |
| |
| <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> |
| <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> |
| <label class="md-overlay" for="__drawer"></label> |
| <div data-md-component="skip"> |
| |
| |
| <a href="#custom-catalog" class="md-skip"> |
| Skip to content |
| </a> |
| |
| </div> |
| <div data-md-component="announce"> |
| |
| </div> |
| |
| |
| <!-- |
| Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com> |
| |
| Permission is hereby granted, free of charge, to any person obtaining a copy |
| of this software and associated documentation files (the "Software"), to |
| deal in the Software without restriction, including without limitation the |
| rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
| sell copies of the Software, and to permit persons to whom the Software is |
| furnished to do so, subject to the following conditions: |
| |
| The above copyright notice and this permission notice shall be included in |
| all copies or substantial portions of the Software. |
| |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE |
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
| IN THE SOFTWARE. |
| --> |
| |
| <!-- Determine classes --> |
| |
| |
| <!-- Header --> |
| <header class="md-header md-header--shadow md-header--lifted" data-md-component="header"> |
| <nav class="md-header__inner md-grid" aria-label="Header"> |
| <!-- Link to home --> |
| <a |
| href="../../.." |
| title="Apache Iceberg" |
| class="md-header__button md-logo" |
| aria-label="Apache Iceberg" |
| data-md-component="logo" |
| > |
| |
| <img src="../../../assets/images/Iceberg-logo.svg" alt="logo"> |
| |
| </a> |
| |
| <!-- Button to open drawer --> |
| <label class="md-header__button md-icon" for="__drawer"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> |
| </label> |
| |
| <!-- Header title --> |
| <div class="md-header__title" data-md-component="header-title"> |
| <div class="md-header__ellipsis"> |
| <div class="md-header__topic"> |
| <span class="md-ellipsis"> </span> |
| </div> |
| <div class="md-header__topic" data-md-component="header-topic"> |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| </div> |
| </div> |
| </div> |
| |
| <!-- Button to open search modal --> |
| |
| <label class="md-header__button md-icon" for="__search"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> |
| </label> |
| |
| <!-- Search interface --> |
| <div class="md-search" data-md-component="search" role="dialog"> |
| <label class="md-search__overlay" for="__search"></label> |
| <div class="md-search__inner" role="search"> |
| <form class="md-search__form" name="search"> |
| <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> |
| <label class="md-search__icon md-icon" for="__search"> |
| |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> |
| |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> |
| </label> |
| <nav class="md-search__options" aria-label="Search"> |
| |
| <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> |
| |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> |
| </button> |
| </nav> |
| |
| <div class="md-search__suggest" data-md-component="search-suggest"></div> |
| |
| </form> |
| <div class="md-search__output"> |
| <div class="md-search__scrollwrap" data-md-scrollfix> |
| <div class="md-search-result" data-md-component="search-result"> |
| <div class="md-search-result__meta"> |
| Initializing search |
| </div> |
| <ol class="md-search-result__list" role="presentation"></ol> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="md-social"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://iceberg.apache.org/community/" target="_blank" rel="noopener" title="iceberg.apache.org" class="md-social__link"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6-10.4-2-21.2-.6-30.7 4.2-4.1 2.1-8.3 4.1-12.6 6-16 7.2-32.9 13.5-49.9 18 2.8-4.6 5.4-9.1 7.9-13.6 1.1-1.9 2.2-3.9 3.2-5.9zM0 176c0 41.8 17.2 80.1 45.9 110.3-.9 1.7-1.9 3.5-2.8 5.1-10.3 18.4-22.3 36.5-36.6 52.1-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7 4.8-2.2 9.6-4.5 14.2-6.8 15.1 3 30.9 4.5 47.1 4.5 114.9 0 208-78.8 208-176S322.9 0 208 0 0 78.8 0 176zm432 304c16.2 0 31.9-1.6 47.1-4.5 4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5 3.8-8.8 2-19-4.6-25.9-14.2-15.6-26.2-33.7-36.6-52.1-.9-1.7-1.9-3.4-2.8-5.1 28.8-30.3 46-68.6 46-110.4 0-94.4-87.9-171.5-198.2-175.8 4.1 15.2 6.2 31.2 6.2 47.8v.6c87.2 6.7 144 67.5 144 127.4 0 28-11.4 54.9-32.7 77.2-14.3 15-17.3 37.6-7.5 55.8 1.1 2 2.2 4 3.2 5.9 2.5 4.5 5.2 9 7.9 13.6-17-4.5-33.9-10.7-49.9-18-4.3-1.9-8.5-3.9-12.6-6-9.5-4.8-20.3-6.2-30.7-4.2-12.1 2.4-24.7 3.6-37.8 3.6-61.7 0-110-26.5-136.8-62.3-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z"/></svg> |
| </a> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://github.com/apache/iceberg" target="_blank" rel="noopener" title="github.com" class="md-social__link"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> |
| </a> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://www.youtube.com/@ApacheIceberg" target="_blank" rel="noopener" title="www.youtube.com" class="md-social__link"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> |
| </a> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="https://join.slack.com/t/apache-iceberg/shared_invite/zt-287g3akar-K9Oe_En5j1UL7Y_Ikpai3A" target="_blank" rel="noopener" title="join.slack.com" class="md-social__link"> |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg> |
| </a> |
| |
| </div> |
| |
| |
| <!-- Color palette toggle --> |
| |
| |
| <!-- User preference: color palette --> |
| |
| |
| <!-- Site language selector --> |
| |
| |
| <!-- Repository information --> |
| |
| </nav> |
| |
| <!-- Navigation tabs (sticky) --> |
| |
| <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> |
| <div class="md-grid"> |
| <ul class="md-tabs__list"> |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../.." class="md-tabs__link"> |
| |
| |
| |
| |
| Home |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../spark-quickstart/" class="md-tabs__link"> |
| |
| |
| Quickstart |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item md-tabs__item--active"> |
| <a href="../../latest/" class="md-tabs__link"> |
| |
| |
| Docs |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../releases/" class="md-tabs__link"> |
| |
| |
| |
| |
| Releases |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../roadmap/" class="md-tabs__link"> |
| |
| |
| |
| |
| Roadmap |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../blogs/" class="md-tabs__link"> |
| |
| |
| |
| |
| Blogs |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../talks/" class="md-tabs__link"> |
| |
| |
| |
| |
| Talks |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../vendors/" class="md-tabs__link"> |
| |
| |
| |
| |
| Vendors |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../community/" class="md-tabs__link"> |
| |
| |
| Project |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="../../../catalog/" class="md-tabs__link"> |
| |
| |
| Concepts |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-tabs__item"> |
| <a href="https://www.apache.org/foundation/sponsorship.html" class="md-tabs__link"> |
| |
| |
| ASF |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </div> |
| </nav> |
| </header> |
| |
| <div class="md-container" data-md-component="container"> |
| |
| |
| |
| |
| <main class="md-main" data-md-component="main"> |
| <div class="md-main__inner md-grid"> |
| |
| |
| |
| <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > |
| <div class="md-sidebar__scrollwrap"> |
| <div class="md-sidebar__inner"> |
| |
| |
| |
| |
| |
| |
| <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> |
| <label class="md-nav__title" for="__drawer"> |
| <a href="../../.." title="Apache Iceberg" class="md-nav__button md-logo" aria-label="Apache Iceberg" data-md-component="logo"> |
| |
| <img src="../../../assets/images/Iceberg-logo.svg" alt="logo"> |
| |
| </a> |
| Apache Iceberg |
| </label> |
| |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../.." class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Home |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--section md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex=""> |
| |
| |
| <span class="md-ellipsis"> |
| Quickstart |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Quickstart |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../spark-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../hive-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked> |
| |
| |
| <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex=""> |
| |
| |
| <span class="md-ellipsis"> |
| Docs |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true"> |
| <label class="md-nav__title" for="__nav_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Docs |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1" id="__nav_3_1_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| latest |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_1_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1"> |
| <span class="md-nav__icon md-icon"></span> |
| latest |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Introduction |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_2" id="__nav_3_1_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Tables |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Tables |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/branching/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Branching and Tagging |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/evolution/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Evolution |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/maintenance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Maintenance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/metrics-reporting/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Metrics Reporting |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/partitioning/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Partitioning |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/performance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Performance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/reliability/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Reliability |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/schemas/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Schemas |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_3" id="__nav_3_1_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Spark |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-getting-started/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-procedures/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Procedures |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-structured-streaming/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Structured Streaming |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/spark-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_4" id="__nav_3_1_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_4"> |
| <span class="md-nav__icon md-icon"></span> |
| Flink |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-connector/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Connector |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-actions/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Actions |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/flink-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/hive/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://trino.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Trino |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://clickhouse.com/docs/en/engines/table-engines/integrations/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Clickhouse |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://prestodb.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Presto |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.dremio.com/data-formats/apache-iceberg/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dremio |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.starrocks.io/en-us/latest/data_source/catalog/iceberg_catalog" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Starrocks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon Athena |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon EMR |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://impala.apache.org/docs/build/html/topics/impala_iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Impala |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://doris.apache.org/docs/dev/lakehouse/multi-catalog/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Doris |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_15" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_15" id="__nav_3_1_15_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Integrations |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_15_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_15"> |
| <span class="md-nav__icon md-icon"></span> |
| Integrations |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/aws/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| AWS |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/dell/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dell |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/jdbc/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| JDBC |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/nessie/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Nessie |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_16" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_16" id="__nav_3_1_16_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| API |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_16_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_16"> |
| <span class="md-nav__icon md-icon"></span> |
| API |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/java-api-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Quickstart |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/api/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java API |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/custom-catalog/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1_17" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_1_17" id="__nav_3_1_17_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Migration |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_1_17_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_1_17"> |
| <span class="md-nav__icon md-icon"></span> |
| Migration |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/table-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Overview |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/hive-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../latest/delta-lake-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Delta Lake Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../javadoc/latest" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Javadoc |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://py.iceberg.apache.org/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| PyIceberg |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--active md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" checked> |
| |
| |
| <label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| 1.4.3 |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="true"> |
| <label class="md-nav__title" for="__nav_3_2"> |
| <span class="md-nav__icon md-icon"></span> |
| 1.4.3 |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Introduction |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_2" id="__nav_3_2_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Tables |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_2_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Tables |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../branching/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Branching and Tagging |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../evolution/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Evolution |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../maintenance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Maintenance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../metrics-reporting/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Metrics Reporting |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../partitioning/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Partitioning |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../performance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Performance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../reliability/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Reliability |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../schemas/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Schemas |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_3" id="__nav_3_2_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_2_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Spark |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-getting-started/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-procedures/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Procedures |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-structured-streaming/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Structured Streaming |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../spark-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_4" id="__nav_3_2_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_2_4"> |
| <span class="md-nav__icon md-icon"></span> |
| Flink |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-connector/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Connector |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-actions/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Actions |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../flink-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../hive/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://trino.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Trino |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://clickhouse.com/docs/en/engines/table-engines/integrations/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Clickhouse |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://prestodb.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Presto |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.dremio.com/data-formats/apache-iceberg/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dremio |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.starrocks.io/en-us/latest/data_source/catalog/iceberg_catalog" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Starrocks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon Athena |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon EMR |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://impala.apache.org/docs/build/html/topics/impala_iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Impala |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://doris.apache.org/docs/dev/lakehouse/multi-catalog/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Doris |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_15" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_15" id="__nav_3_2_15_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Integrations |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_15_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_2_15"> |
| <span class="md-nav__icon md-icon"></span> |
| Integrations |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../aws/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| AWS |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../dell/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dell |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../jdbc/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| JDBC |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../nessie/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Nessie |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--active md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_16" checked> |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_16" id="__nav_3_2_16_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| API |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_16_label" aria-expanded="true"> |
| <label class="md-nav__title" for="__nav_3_2_16"> |
| <span class="md-nav__icon md-icon"></span> |
| API |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../java-api-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Quickstart |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../api/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java API |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--active"> |
| |
| <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> |
| |
| |
| |
| |
| |
| <label class="md-nav__link md-nav__link--active" for="__toc"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <a href="./" class="md-nav__link md-nav__link--active"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| </a> |
| |
| |
| |
| <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
| |
| |
| |
| |
| |
| |
| <label class="md-nav__title" for="__toc"> |
| <span class="md-nav__icon md-icon"></span> |
| Table of contents |
| </label> |
| <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-table-operations-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom table operations implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-catalog-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom catalog implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-file-io-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom file IO implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-location-provider-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom location provider implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-icebergsource" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom IcebergSource |
| </span> |
| </a> |
| |
| </li> |
| |
| </ul> |
| |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_17" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_2_17" id="__nav_3_2_17_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Migration |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_17_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_2_17"> |
| <span class="md-nav__icon md-icon"></span> |
| Migration |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../table-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Overview |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../hive-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../delta-lake-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Delta Lake Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../javadoc/1.4.3" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Javadoc |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://py.iceberg.apache.org/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| PyIceberg |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| 1.4.2 |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3"> |
| <span class="md-nav__icon md-icon"></span> |
| 1.4.2 |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Introduction |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_2" id="__nav_3_3_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Tables |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Tables |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/branching/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Branching and Tagging |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/evolution/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Evolution |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/maintenance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Maintenance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/metrics-reporting/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Metrics Reporting |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/partitioning/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Partitioning |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/performance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Performance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/reliability/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Reliability |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/schemas/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Schemas |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_3" id="__nav_3_3_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Spark |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-getting-started/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-procedures/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Procedures |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-structured-streaming/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Structured Streaming |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/spark-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_4" id="__nav_3_3_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_4"> |
| <span class="md-nav__icon md-icon"></span> |
| Flink |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-connector/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Connector |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-actions/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Actions |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/flink-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/hive/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://trino.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Trino |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://clickhouse.com/docs/en/engines/table-engines/integrations/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Clickhouse |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://prestodb.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Presto |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.dremio.com/data-formats/apache-iceberg/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dremio |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.starrocks.io/en-us/latest/data_source/catalog/iceberg_catalog" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Starrocks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon Athena |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon EMR |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://impala.apache.org/docs/build/html/topics/impala_iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Impala |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://doris.apache.org/docs/dev/lakehouse/multi-catalog/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Doris |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_15" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_15" id="__nav_3_3_15_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Integrations |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_15_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_15"> |
| <span class="md-nav__icon md-icon"></span> |
| Integrations |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/aws/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| AWS |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/dell/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dell |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/jdbc/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| JDBC |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/nessie/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Nessie |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_16" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_16" id="__nav_3_3_16_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| API |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_16_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_16"> |
| <span class="md-nav__icon md-icon"></span> |
| API |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/java-api-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Quickstart |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/api/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java API |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/custom-catalog/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_17" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_3_17" id="__nav_3_3_17_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Migration |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_17_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_3_17"> |
| <span class="md-nav__icon md-icon"></span> |
| Migration |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/table-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Overview |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/hive-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.2/delta-lake-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Delta Lake Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../javadoc/1.4.2" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Javadoc |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://py.iceberg.apache.org/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| PyIceberg |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| 1.4.1 |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4"> |
| <span class="md-nav__icon md-icon"></span> |
| 1.4.1 |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Introduction |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_2" id="__nav_3_4_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Tables |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Tables |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/branching/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Branching and Tagging |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/evolution/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Evolution |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/maintenance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Maintenance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/metrics-reporting/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Metrics Reporting |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/partitioning/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Partitioning |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/performance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Performance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/reliability/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Reliability |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/schemas/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Schemas |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_3" id="__nav_3_4_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Spark |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-getting-started/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-procedures/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Procedures |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-structured-streaming/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Structured Streaming |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/spark-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_4" id="__nav_3_4_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_4"> |
| <span class="md-nav__icon md-icon"></span> |
| Flink |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-connector/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Connector |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-actions/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Actions |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/flink-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/hive/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://trino.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Trino |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://clickhouse.com/docs/en/engines/table-engines/integrations/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Clickhouse |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://prestodb.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Presto |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.dremio.com/data-formats/apache-iceberg/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dremio |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.starrocks.io/en-us/latest/data_source/catalog/iceberg_catalog" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Starrocks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon Athena |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon EMR |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://impala.apache.org/docs/build/html/topics/impala_iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Impala |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://doris.apache.org/docs/dev/lakehouse/multi-catalog/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Doris |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_15" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_15" id="__nav_3_4_15_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Integrations |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_15_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_15"> |
| <span class="md-nav__icon md-icon"></span> |
| Integrations |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/aws/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| AWS |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/dell/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dell |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/jdbc/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| JDBC |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/nessie/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Nessie |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_16" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_16" id="__nav_3_4_16_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| API |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_16_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_16"> |
| <span class="md-nav__icon md-icon"></span> |
| API |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/java-api-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Quickstart |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/api/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java API |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/custom-catalog/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_17" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_4_17" id="__nav_3_4_17_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Migration |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_17_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_4_17"> |
| <span class="md-nav__icon md-icon"></span> |
| Migration |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/table-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Overview |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/hive-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.1/delta-lake-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Delta Lake Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../javadoc/1.4.1/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Javadoc |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://py.iceberg.apache.org/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| PyIceberg |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5" id="__nav_3_5_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| 1.4.0 |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5"> |
| <span class="md-nav__icon md-icon"></span> |
| 1.4.0 |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Introduction |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_2" id="__nav_3_5_2_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Tables |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_2_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_2"> |
| <span class="md-nav__icon md-icon"></span> |
| Tables |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/branching/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Branching and Tagging |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/evolution/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Evolution |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/maintenance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Maintenance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/metrics-reporting/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Metrics Reporting |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/partitioning/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Partitioning |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/performance/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Performance |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/reliability/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Reliability |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/schemas/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Schemas |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_3" id="__nav_3_5_3_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Spark |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_3_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_3"> |
| <span class="md-nav__icon md-icon"></span> |
| Spark |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-getting-started/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-procedures/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Procedures |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-structured-streaming/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Structured Streaming |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/spark-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_4" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_4" id="__nav_3_5_4_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_4_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_4"> |
| <span class="md-nav__icon md-icon"></span> |
| Flink |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Getting Started |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-connector/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Connector |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-ddl/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink DDL |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-queries/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Queries |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-writes/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Writes |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-actions/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Actions |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/flink-configuration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Flink Configuration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/hive/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://trino.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Trino |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://clickhouse.com/docs/en/engines/table-engines/integrations/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Clickhouse |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://prestodb.io/docs/current/connector/iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Presto |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.dremio.com/data-formats/apache-iceberg/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dremio |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.starrocks.io/en-us/latest/data_source/catalog/iceberg_catalog" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Starrocks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon Athena |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-cluster.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Amazon EMR |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://impala.apache.org/docs/build/html/topics/impala_iceberg.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Impala |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://doris.apache.org/docs/dev/lakehouse/multi-catalog/iceberg" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Doris |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_15" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_15" id="__nav_3_5_15_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Integrations |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_15_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_15"> |
| <span class="md-nav__icon md-icon"></span> |
| Integrations |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/aws/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| AWS |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/dell/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Dell |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/jdbc/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| JDBC |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/nessie/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Nessie |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_16" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_16" id="__nav_3_5_16_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| API |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_16_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_16"> |
| <span class="md-nav__icon md-icon"></span> |
| API |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/java-api-quickstart/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Quickstart |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/api/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java API |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/custom-catalog/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Java Custom Catalog |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_17" > |
| |
| |
| <label class="md-nav__link" for="__nav_3_5_17" id="__nav_3_5_17_label" tabindex="0"> |
| |
| |
| <span class="md-ellipsis"> |
| Migration |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_17_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_3_5_17"> |
| <span class="md-nav__icon md-icon"></span> |
| Migration |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/table-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Overview |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/hive-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Hive Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../1.4.0/delta-lake-migration/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Delta Lake Migration |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../javadoc/1.4.0/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Javadoc |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://py.iceberg.apache.org/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| PyIceberg |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../releases/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Releases |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../roadmap/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Roadmap |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../blogs/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Blogs |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../talks/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Talks |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../vendors/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Vendors |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--section md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" > |
| |
| |
| <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex=""> |
| |
| |
| <span class="md-ellipsis"> |
| Project |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_9"> |
| <span class="md-nav__icon md-icon"></span> |
| Project |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../community/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Join |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../spec/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Spec |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../view-spec/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| View spec |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../puffin-spec/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Puffin spec |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../multi-engine-support/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Multi-engine support |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../how-to-release/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| How to release |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../terms/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Terms |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--section md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" > |
| |
| |
| <label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex=""> |
| |
| |
| <span class="md-ellipsis"> |
| Concepts |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_10"> |
| <span class="md-nav__icon md-icon"></span> |
| Concepts |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="../../../catalog/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Catalogs |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item md-nav__item--section md-nav__item--nested"> |
| |
| |
| |
| |
| <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" > |
| |
| |
| <label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex=""> |
| |
| |
| <span class="md-ellipsis"> |
| ASF |
| </span> |
| |
| |
| <span class="md-nav__icon md-icon"></span> |
| </label> |
| |
| <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false"> |
| <label class="md-nav__title" for="__nav_11"> |
| <span class="md-nav__icon md-icon"></span> |
| ASF |
| </label> |
| <ul class="md-nav__list" data-md-scrollfix> |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://www.apache.org/foundation/sponsorship.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Sponsorship |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://www.apache.org/events/current-event.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Events |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://www.apache.org/licenses/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| License |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://www.apache.org/security/" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Security |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="md-nav__item"> |
| <a href="https://www.apache.org/foundation/thanks.html" class="md-nav__link"> |
| |
| |
| <span class="md-ellipsis"> |
| Sponsors |
| </span> |
| |
| |
| </a> |
| </li> |
| |
| |
| |
| |
| </ul> |
| </nav> |
| |
| </li> |
| |
| |
| |
| </ul> |
| </nav> |
| </div> |
| </div> |
| </div> |
| |
| |
| |
| <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > |
| <div class="md-sidebar__scrollwrap"> |
| <div class="md-sidebar__inner"> |
| |
| |
| <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
| |
| |
| |
| |
| |
| |
| <label class="md-nav__title" for="__toc"> |
| <span class="md-nav__icon md-icon"></span> |
| Table of contents |
| </label> |
| <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-table-operations-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom table operations implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-catalog-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom catalog implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-file-io-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom file IO implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-location-provider-implementation" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom location provider implementation |
| </span> |
| </a> |
| |
| </li> |
| |
| <li class="md-nav__item"> |
| <a href="#custom-icebergsource" class="md-nav__link"> |
| <span class="md-ellipsis"> |
| Custom IcebergSource |
| </span> |
| </a> |
| |
| </li> |
| |
| </ul> |
| |
| </nav> |
| </div> |
| </div> |
| </div> |
| |
| |
| |
| <div class="md-content" data-md-component="content"> |
| <article class="md-content__inner md-typeset"> |
| |
| |
| |
| |
| <!-- |
| - Licensed to the Apache Software Foundation (ASF) under one or more |
| - contributor license agreements. See the NOTICE file distributed with |
| - this work for additional information regarding copyright ownership. |
| - The ASF licenses this file to You under the Apache License, Version 2.0 |
| - (the "License"); you may not use this file except in compliance with |
| - the License. You may obtain a copy of the License at |
| - |
| - http://www.apache.org/licenses/LICENSE-2.0 |
| - |
| - Unless required by applicable law or agreed to in writing, software |
| - distributed under the License is distributed on an "AS IS" BASIS, |
| - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| - See the License for the specific language governing permissions and |
| - limitations under the License. |
| --> |
| |
| <h1 id="custom-catalog">Custom Catalog<a class="headerlink" href="#custom-catalog" title="Permanent link">🔗</a></h1> |
| <p>It's possible to read an iceberg table either from an hdfs path or from a hive table. It's also possible to use a custom metastore in place of hive. The steps to do that are as follows.</p> |
| <ul> |
| <li><a href="#custom-table-operations-implementation">Custom TableOperations</a></li> |
| <li><a href="#custom-catalog-implementation">Custom Catalog</a></li> |
| <li><a href="#custom-file-io-implementation">Custom FileIO</a></li> |
| <li><a href="#custom-location-provider-implementation">Custom LocationProvider</a></li> |
| <li><a href="#custom-icebergsource">Custom IcebergSource</a></li> |
| </ul> |
| <h3 id="custom-table-operations-implementation">Custom table operations implementation<a class="headerlink" href="#custom-table-operations-implementation" title="Permanent link">🔗</a></h3> |
| <p>Extend <code>BaseMetastoreTableOperations</code> to provide implementation on how to read and write metadata</p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kd">class</span> <span class="nc">CustomTableOperations</span><span class="w"> </span><span class="kd">extends</span><span class="w"> </span><span class="n">BaseMetastoreTableOperations</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dbName</span><span class="p">;</span> |
| <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">tableName</span><span class="p">;</span> |
| <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">Configuration</span><span class="w"> </span><span class="n">conf</span><span class="p">;</span> |
| <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">FileIO</span><span class="w"> </span><span class="n">fileIO</span><span class="p">;</span> |
| <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> |
| <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="kd">protected</span><span class="w"> </span><span class="nf">CustomTableOperations</span><span class="p">(</span><span class="n">Configuration</span><span class="w"> </span><span class="n">conf</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dbName</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">tableName</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">conf</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conf</span><span class="p">;</span> |
| <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">dbName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">dbName</span><span class="p">;</span> |
| <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">tableName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tableName</span><span class="p">;</span> |
| <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> |
| <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w"> </span><span class="c1">// The doRefresh method should provide implementation on how to get the metadata location</span> |
| <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">doRefresh</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a> |
| <a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="w"> </span><span class="c1">// Example custom service which returns the metadata location given a dbName and tableName</span> |
| <a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">metadataLocation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">CustomService</span><span class="p">.</span><span class="na">getMetadataForTable</span><span class="p">(</span><span class="n">conf</span><span class="p">,</span><span class="w"> </span><span class="n">dbName</span><span class="p">,</span><span class="w"> </span><span class="n">tableName</span><span class="p">);</span> |
| <a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a> |
| <a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="w"> </span><span class="c1">// When updating from a metadata file location, call the helper method</span> |
| <a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a><span class="w"> </span><span class="n">refreshFromMetadataLocation</span><span class="p">(</span><span class="n">metadataLocation</span><span class="p">);</span> |
| <a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a> |
| <a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a> |
| <a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a><span class="w"> </span><span class="c1">// The doCommit method should provide implementation on how to update with metadata location atomically</span> |
| <a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">doCommit</span><span class="p">(</span><span class="n">TableMetadata</span><span class="w"> </span><span class="n">base</span><span class="p">,</span><span class="w"> </span><span class="n">TableMetadata</span><span class="w"> </span><span class="n">metadata</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">oldMetadataLocation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">base</span><span class="p">.</span><span class="na">location</span><span class="p">();</span> |
| <a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a> |
| <a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a><span class="w"> </span><span class="c1">// Write new metadata using helper method</span> |
| <a id="__codelineno-0-31" name="__codelineno-0-31" href="#__codelineno-0-31"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">newMetadataLocation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">writeNewMetadata</span><span class="p">(</span><span class="n">metadata</span><span class="p">,</span><span class="w"> </span><span class="n">currentVersion</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> |
| <a id="__codelineno-0-32" name="__codelineno-0-32" href="#__codelineno-0-32"></a> |
| <a id="__codelineno-0-33" name="__codelineno-0-33" href="#__codelineno-0-33"></a><span class="w"> </span><span class="c1">// Example custom service which updates the metadata location for the given db and table atomically</span> |
| <a id="__codelineno-0-34" name="__codelineno-0-34" href="#__codelineno-0-34"></a><span class="w"> </span><span class="n">CustomService</span><span class="p">.</span><span class="na">updateMetadataLocation</span><span class="p">(</span><span class="n">dbName</span><span class="p">,</span><span class="w"> </span><span class="n">tableName</span><span class="p">,</span><span class="w"> </span><span class="n">oldMetadataLocation</span><span class="p">,</span><span class="w"> </span><span class="n">newMetadataLocation</span><span class="p">);</span> |
| <a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a> |
| <a id="__codelineno-0-36" name="__codelineno-0-36" href="#__codelineno-0-36"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-0-37" name="__codelineno-0-37" href="#__codelineno-0-37"></a> |
| <a id="__codelineno-0-38" name="__codelineno-0-38" href="#__codelineno-0-38"></a><span class="w"> </span><span class="c1">// The io method provides a FileIO which is used to read and write the table metadata files</span> |
| <a id="__codelineno-0-39" name="__codelineno-0-39" href="#__codelineno-0-39"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-0-40" name="__codelineno-0-40" href="#__codelineno-0-40"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">FileIO</span><span class="w"> </span><span class="nf">io</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-41" name="__codelineno-0-41" href="#__codelineno-0-41"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fileIO</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-0-42" name="__codelineno-0-42" href="#__codelineno-0-42"></a><span class="w"> </span><span class="n">fileIO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HadoopFileIO</span><span class="p">(</span><span class="n">conf</span><span class="p">);</span> |
| <a id="__codelineno-0-43" name="__codelineno-0-43" href="#__codelineno-0-43"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-0-44" name="__codelineno-0-44" href="#__codelineno-0-44"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">fileIO</span><span class="p">;</span> |
| <a id="__codelineno-0-45" name="__codelineno-0-45" href="#__codelineno-0-45"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-0-46" name="__codelineno-0-46" href="#__codelineno-0-46"></a><span class="p">}</span> |
| </code></pre></div></p> |
| <p>A <code>TableOperations</code> instance is usually obtained by calling <code>Catalog.newTableOps(TableIdentifier)</code>. |
| See the next section about implementing and loading a custom catalog.</p> |
| <h3 id="custom-catalog-implementation">Custom catalog implementation<a class="headerlink" href="#custom-catalog-implementation" title="Permanent link">🔗</a></h3> |
| <p>Extend <code>BaseMetastoreCatalog</code> to provide default warehouse locations and instantiate <code>CustomTableOperations</code></p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">CustomCatalog</span><span class="w"> </span><span class="kd">extends</span><span class="w"> </span><span class="n">BaseMetastoreCatalog</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a> |
| <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">Configuration</span><span class="w"> </span><span class="n">configuration</span><span class="p">;</span> |
| <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a> |
| <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="c1">// must have a no-arg constructor to be dynamically loaded</span> |
| <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="c1">// initialize(String name, Map<String, String> properties) will be called to complete initialization</span> |
| <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">CustomCatalog</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a> |
| <a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">CustomCatalog</span><span class="p">(</span><span class="n">Configuration</span><span class="w"> </span><span class="n">configuration</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">configuration</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">configuration</span><span class="p">;</span> |
| <a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a> |
| <a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="w"> </span><span class="kd">protected</span><span class="w"> </span><span class="n">TableOperations</span><span class="w"> </span><span class="nf">newTableOps</span><span class="p">(</span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dbName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">level</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> |
| <a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">tableName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">.</span><span class="na">name</span><span class="p">();</span> |
| <a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="w"> </span><span class="c1">// instantiate the CustomTableOperations</span> |
| <a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">CustomTableOperations</span><span class="p">(</span><span class="n">configuration</span><span class="p">,</span><span class="w"> </span><span class="n">dbName</span><span class="p">,</span><span class="w"> </span><span class="n">tableName</span><span class="p">);</span> |
| <a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a> |
| <a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a><span class="w"> </span><span class="kd">protected</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="nf">defaultWarehouseLocation</span><span class="p">(</span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a> |
| <a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a><span class="w"> </span><span class="c1">// Can choose to use any other configuration name</span> |
| <a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">tableLocation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">configuration</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="s">"custom.iceberg.warehouse.location"</span><span class="p">);</span> |
| <a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a> |
| <a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a><span class="w"> </span><span class="c1">// Can be an s3 or hdfs path</span> |
| <a id="__codelineno-1-29" name="__codelineno-1-29" href="#__codelineno-1-29"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">tableLocation</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-30" name="__codelineno-1-30" href="#__codelineno-1-30"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RuntimeException</span><span class="p">(</span><span class="s">"custom.iceberg.warehouse.location configuration not set!"</span><span class="p">);</span> |
| <a id="__codelineno-1-31" name="__codelineno-1-31" href="#__codelineno-1-31"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-32" name="__codelineno-1-32" href="#__codelineno-1-32"></a> |
| <a id="__codelineno-1-33" name="__codelineno-1-33" href="#__codelineno-1-33"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">String</span><span class="p">.</span><span class="na">format</span><span class="p">(</span> |
| <a id="__codelineno-1-34" name="__codelineno-1-34" href="#__codelineno-1-34"></a><span class="w"> </span><span class="s">"%s/%s.db/%s"</span><span class="p">,</span><span class="w"> </span><span class="n">tableLocation</span><span class="p">,</span> |
| <a id="__codelineno-1-35" name="__codelineno-1-35" href="#__codelineno-1-35"></a><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">levels</span><span class="p">()</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span><span class="p">,</span> |
| <a id="__codelineno-1-36" name="__codelineno-1-36" href="#__codelineno-1-36"></a><span class="w"> </span><span class="n">tableIdentifier</span><span class="p">.</span><span class="na">name</span><span class="p">());</span> |
| <a id="__codelineno-1-37" name="__codelineno-1-37" href="#__codelineno-1-37"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-38" name="__codelineno-1-38" href="#__codelineno-1-38"></a> |
| <a id="__codelineno-1-39" name="__codelineno-1-39" href="#__codelineno-1-39"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-1-40" name="__codelineno-1-40" href="#__codelineno-1-40"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="nf">dropTable</span><span class="p">(</span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">identifier</span><span class="p">,</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="n">purge</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-41" name="__codelineno-1-41" href="#__codelineno-1-41"></a><span class="w"> </span><span class="c1">// Example service to delete table</span> |
| <a id="__codelineno-1-42" name="__codelineno-1-42" href="#__codelineno-1-42"></a><span class="w"> </span><span class="n">CustomService</span><span class="p">.</span><span class="na">deleteTable</span><span class="p">(</span><span class="n">identifier</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">level</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">identifier</span><span class="p">.</span><span class="na">name</span><span class="p">());</span> |
| <a id="__codelineno-1-43" name="__codelineno-1-43" href="#__codelineno-1-43"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-44" name="__codelineno-1-44" href="#__codelineno-1-44"></a> |
| <a id="__codelineno-1-45" name="__codelineno-1-45" href="#__codelineno-1-45"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-1-46" name="__codelineno-1-46" href="#__codelineno-1-46"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">renameTable</span><span class="p">(</span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">from</span><span class="p">,</span><span class="w"> </span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">to</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-47" name="__codelineno-1-47" href="#__codelineno-1-47"></a><span class="w"> </span><span class="n">Preconditions</span><span class="p">.</span><span class="na">checkArgument</span><span class="p">(</span><span class="n">from</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">level</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="na">equals</span><span class="p">(</span><span class="n">to</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">level</span><span class="p">(</span><span class="mi">0</span><span class="p">)),</span> |
| <a id="__codelineno-1-48" name="__codelineno-1-48" href="#__codelineno-1-48"></a><span class="w"> </span><span class="s">"Cannot move table between databases"</span><span class="p">);</span> |
| <a id="__codelineno-1-49" name="__codelineno-1-49" href="#__codelineno-1-49"></a><span class="w"> </span><span class="c1">// Example service to rename table</span> |
| <a id="__codelineno-1-50" name="__codelineno-1-50" href="#__codelineno-1-50"></a><span class="w"> </span><span class="n">CustomService</span><span class="p">.</span><span class="na">renameTable</span><span class="p">(</span><span class="n">from</span><span class="p">.</span><span class="na">namespace</span><span class="p">().</span><span class="na">level</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">from</span><span class="p">.</span><span class="na">name</span><span class="p">(),</span><span class="w"> </span><span class="n">to</span><span class="p">.</span><span class="na">name</span><span class="p">());</span> |
| <a id="__codelineno-1-51" name="__codelineno-1-51" href="#__codelineno-1-51"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-52" name="__codelineno-1-52" href="#__codelineno-1-52"></a> |
| <a id="__codelineno-1-53" name="__codelineno-1-53" href="#__codelineno-1-53"></a><span class="w"> </span><span class="c1">// implement this method to read catalog name and properties during initialization</span> |
| <a id="__codelineno-1-54" name="__codelineno-1-54" href="#__codelineno-1-54"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">initialize</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">Map</span><span class="o"><</span><span class="n">String</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="o">></span><span class="w"> </span><span class="n">properties</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-1-55" name="__codelineno-1-55" href="#__codelineno-1-55"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-1-56" name="__codelineno-1-56" href="#__codelineno-1-56"></a><span class="p">}</span> |
| </code></pre></div></p> |
| <p>Catalog implementations can be dynamically loaded in most compute engines. |
| For Spark and Flink, you can specify the <code>catalog-impl</code> catalog property to load it. |
| Read the <a href="../configuration/#catalog-properties">Configuration</a> section for more details. |
| For MapReduce, implement <code>org.apache.iceberg.mr.CatalogLoader</code> and set Hadoop property <code>iceberg.mr.catalog.loader.class</code> to load it. |
| If your catalog must read Hadoop configuration to access certain environment properties, make your catalog implement <code>org.apache.hadoop.conf.Configurable</code>.</p> |
| <h3 id="custom-file-io-implementation">Custom file IO implementation<a class="headerlink" href="#custom-file-io-implementation" title="Permanent link">🔗</a></h3> |
| <p>Extend <code>FileIO</code> and provide implementation to read and write data files</p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">CustomFileIO</span><span class="w"> </span><span class="kd">implements</span><span class="w"> </span><span class="n">FileIO</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a> |
| <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="c1">// must have a no-arg constructor to be dynamically loaded</span> |
| <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="c1">// initialize(Map<String, String> properties) will be called to complete initialization</span> |
| <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">CustomFileIO</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a> |
| <a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">InputFile</span><span class="w"> </span><span class="nf">newInputFile</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="c1">// you also need to implement the InputFile interface for a custom input file</span> |
| <a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">CustomInputFile</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> |
| <a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a> |
| <a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">OutputFile</span><span class="w"> </span><span class="nf">newOutputFile</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="w"> </span><span class="c1">// you also need to implement the OutputFile interface for a custom output file</span> |
| <a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">CustomOutputFile</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> |
| <a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-19" name="__codelineno-2-19" href="#__codelineno-2-19"></a> |
| <a id="__codelineno-2-20" name="__codelineno-2-20" href="#__codelineno-2-20"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-2-21" name="__codelineno-2-21" href="#__codelineno-2-21"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">deleteFile</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">path</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-22" name="__codelineno-2-22" href="#__codelineno-2-22"></a><span class="w"> </span><span class="n">Path</span><span class="w"> </span><span class="n">toDelete</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Path</span><span class="p">(</span><span class="n">path</span><span class="p">);</span> |
| <a id="__codelineno-2-23" name="__codelineno-2-23" href="#__codelineno-2-23"></a><span class="w"> </span><span class="n">FileSystem</span><span class="w"> </span><span class="n">fs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Util</span><span class="p">.</span><span class="na">getFs</span><span class="p">(</span><span class="n">toDelete</span><span class="p">);</span> |
| <a id="__codelineno-2-24" name="__codelineno-2-24" href="#__codelineno-2-24"></a><span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-25" name="__codelineno-2-25" href="#__codelineno-2-25"></a><span class="w"> </span><span class="n">fs</span><span class="p">.</span><span class="na">delete</span><span class="p">(</span><span class="n">toDelete</span><span class="p">,</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="cm">/* not recursive */</span><span class="p">);</span> |
| <a id="__codelineno-2-26" name="__codelineno-2-26" href="#__codelineno-2-26"></a><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">IOException</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-27" name="__codelineno-2-27" href="#__codelineno-2-27"></a><span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RuntimeIOException</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s">"Failed to delete file: %s"</span><span class="p">,</span><span class="w"> </span><span class="n">path</span><span class="p">);</span> |
| <a id="__codelineno-2-28" name="__codelineno-2-28" href="#__codelineno-2-28"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-29" name="__codelineno-2-29" href="#__codelineno-2-29"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-30" name="__codelineno-2-30" href="#__codelineno-2-30"></a> |
| <a id="__codelineno-2-31" name="__codelineno-2-31" href="#__codelineno-2-31"></a><span class="w"> </span><span class="c1">// implement this method to read catalog properties during initialization</span> |
| <a id="__codelineno-2-32" name="__codelineno-2-32" href="#__codelineno-2-32"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">initialize</span><span class="p">(</span><span class="n">Map</span><span class="o"><</span><span class="n">String</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="o">></span><span class="w"> </span><span class="n">properties</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-2-33" name="__codelineno-2-33" href="#__codelineno-2-33"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-2-34" name="__codelineno-2-34" href="#__codelineno-2-34"></a><span class="p">}</span> |
| </code></pre></div></p> |
| <p>If you are already implementing your own catalog, you can implement <code>TableOperations.io()</code> to use your custom <code>FileIO</code>. |
| In addition, custom <code>FileIO</code> implementations can also be dynamically loaded in <code>HadoopCatalog</code> and <code>HiveCatalog</code> by specifying the <code>io-impl</code> catalog property. |
| Read the <a href="../configuration/#catalog-properties">Configuration</a> section for more details. |
| If your <code>FileIO</code> must read Hadoop configuration to access certain environment properties, make your <code>FileIO</code> implement <code>org.apache.hadoop.conf.Configurable</code>.</p> |
| <h3 id="custom-location-provider-implementation">Custom location provider implementation<a class="headerlink" href="#custom-location-provider-implementation" title="Permanent link">🔗</a></h3> |
| <p>Extend <code>LocationProvider</code> and provide implementation to determine the file path to write data</p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">CustomLocationProvider</span><span class="w"> </span><span class="kd">implements</span><span class="w"> </span><span class="n">LocationProvider</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a> |
| <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">tableLocation</span><span class="p">;</span> |
| <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a> |
| <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="c1">// must have a 2-arg constructor like this, or a no-arg constructor</span> |
| <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">CustomLocationProvider</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">tableLocation</span><span class="p">,</span><span class="w"> </span><span class="n">Map</span><span class="o"><</span><span class="n">String</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="o">></span><span class="w"> </span><span class="n">properties</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">tableLocation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tableLocation</span><span class="p">;</span> |
| <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a> |
| <a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="nf">newDataLocation</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="c1">// can use any custom method to generate a file path given a file name</span> |
| <a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">String</span><span class="p">.</span><span class="na">format</span><span class="p">(</span><span class="s">"%s/%s/%s"</span><span class="p">,</span><span class="w"> </span><span class="n">tableLocation</span><span class="p">,</span><span class="w"> </span><span class="n">UUID</span><span class="p">.</span><span class="na">randomUUID</span><span class="p">().</span><span class="na">toString</span><span class="p">(),</span><span class="w"> </span><span class="n">filename</span><span class="p">);</span> |
| <a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a> |
| <a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a><span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="nf">newDataLocation</span><span class="p">(</span><span class="n">PartitionSpec</span><span class="w"> </span><span class="n">spec</span><span class="p">,</span><span class="w"> </span><span class="n">StructLike</span><span class="w"> </span><span class="n">partitionData</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a><span class="w"> </span><span class="c1">// can use any custom method to generate a file path given a partition info and file name</span> |
| <a id="__codelineno-3-19" name="__codelineno-3-19" href="#__codelineno-3-19"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">newDataLocation</span><span class="p">(</span><span class="n">filename</span><span class="p">);</span> |
| <a id="__codelineno-3-20" name="__codelineno-3-20" href="#__codelineno-3-20"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-3-21" name="__codelineno-3-21" href="#__codelineno-3-21"></a><span class="p">}</span> |
| </code></pre></div></p> |
| <p>If you are already implementing your own catalog, you can override <code>TableOperations.locationProvider()</code> to use your custom default <code>LocationProvider</code>. |
| To use a different custom location provider for a specific table, specify the implementation when creating the table using table property <code>write.location-provider.impl</code></p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">hive</span><span class="p">.</span><span class="k">default</span><span class="p">.</span><span class="n">my_table</span><span class="w"> </span><span class="p">(</span> |
| <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">bigint</span><span class="p">,</span> |
| <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="k">data</span><span class="w"> </span><span class="n">string</span><span class="p">,</span> |
| <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="n">category</span><span class="w"> </span><span class="n">string</span><span class="p">)</span> |
| <a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="k">USING</span><span class="w"> </span><span class="n">iceberg</span> |
| <a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="k">OPTIONS</span><span class="w"> </span><span class="p">(</span> |
| <a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="s1">'write.location-provider.impl'</span><span class="o">=</span><span class="s1">'com.my.CustomLocationProvider'</span> |
| <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="p">)</span> |
| <a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="n">PARTITIONED</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="p">(</span><span class="n">category</span><span class="p">);</span> |
| </code></pre></div></p> |
| <h3 id="custom-icebergsource">Custom IcebergSource<a class="headerlink" href="#custom-icebergsource" title="Permanent link">🔗</a></h3> |
| <p>Extend <code>IcebergSource</code> and provide implementation to read from <code>CustomCatalog</code></p> |
| <p>Example: |
| <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">CustomIcebergSource</span><span class="w"> </span><span class="kd">extends</span><span class="w"> </span><span class="n">IcebergSource</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a> |
| <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="w"> </span><span class="nd">@Override</span> |
| <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="kd">protected</span><span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="nf">findTable</span><span class="p">(</span><span class="n">DataSourceOptions</span><span class="w"> </span><span class="n">options</span><span class="p">,</span><span class="w"> </span><span class="n">Configuration</span><span class="w"> </span><span class="n">conf</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="w"> </span><span class="n">Optional</span><span class="o"><</span><span class="n">String</span><span class="o">></span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">options</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="s">"path"</span><span class="p">);</span> |
| <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="w"> </span><span class="n">Preconditions</span><span class="p">.</span><span class="na">checkArgument</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="na">isPresent</span><span class="p">(),</span><span class="w"> </span><span class="s">"Cannot open table: path is not set"</span><span class="p">);</span> |
| <a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a> |
| <a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a><span class="w"> </span><span class="c1">// Read table from CustomCatalog</span> |
| <a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="w"> </span><span class="n">CustomCatalog</span><span class="w"> </span><span class="n">catalog</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">CustomCatalog</span><span class="p">(</span><span class="n">conf</span><span class="p">);</span> |
| <a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a><span class="w"> </span><span class="n">TableIdentifier</span><span class="w"> </span><span class="n">tableIdentifier</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TableIdentifier</span><span class="p">.</span><span class="na">parse</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="na">get</span><span class="p">());</span> |
| <a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">catalog</span><span class="p">.</span><span class="na">loadTable</span><span class="p">(</span><span class="n">tableIdentifier</span><span class="p">);</span> |
| <a id="__codelineno-5-12" name="__codelineno-5-12" href="#__codelineno-5-12"></a><span class="w"> </span><span class="p">}</span> |
| <a id="__codelineno-5-13" name="__codelineno-5-13" href="#__codelineno-5-13"></a><span class="p">}</span> |
| </code></pre></div></p> |
| <p>Register the <code>CustomIcebergSource</code> by updating <code>META-INF/services/org.apache.spark.sql.sources.DataSourceRegister</code> with its fully qualified name</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </article> |
| </div> |
| |
| |
| <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var tab,labels=set.querySelector(".tabbed-labels");for(tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> |
| |
| <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> |
| </div> |
| |
| <button type="button" class="md-top md-icon" data-md-component="top" hidden> |
| |
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> |
| Back to top |
| </button> |
| |
| </main> |
| |
| <footer class="md-footer"> |
| |
| <div class="md-footer-meta md-typeset"> |
| <div class="md-footer-meta__inner md-grid"> |
| <div class="md-copyright"> |
| |
| <div class="md-copyright__highlight"> |
| Apache Iceberg, Iceberg, Apache, the Apache feather logo, and the Apache Iceberg project logo are<br>either registered trademarks or trademarks of The Apache Software Foundation. Copyright © 2023<br>The Apache Software Foundation, Licensed under the <a href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.<br><br> |
| |
| </div> |
| |
| |
| Made with |
| <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> |
| Material for MkDocs |
| </a> |
| |
| </div> |
| |
| </div> |
| </div> |
| </footer> |
| |
| </div> |
| <div class="md-dialog" data-md-component="dialog"> |
| <div class="md-dialog__inner md-typeset"></div> |
| </div> |
| |
| |
| <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.path", "navigation.top", "navigation.tracking", "toc.follow", "offline", "search.suggest", "search.highlight", "content.tabs.link", "content.code.copy", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> |
| |
| |
| <script src="../../../assets/javascripts/bundle.d7c377c4.min.js"></script> |
| |
| <script src="../../../assets/javascript/extra.js"></script> |
| |
| |
| </body> |
| </html> |