blob: ca1d4040ef187474927dd5d929a7af12be19a5f7 [file] [log] [blame]
<!doctype html>
<html class="docs-version-0.14.1" lang="cn" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.14">
<link rel="alternate" type="application/rss+xml" href="/cn/blog/rss.xml" title="Apache Hudi: User-Facing Analytics RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cn/blog/atom.xml" title="Apache Hudi: User-Facing Analytics Atom Feed">
<link rel="alternate" type="application/json" href="/cn/blog/feed.json" title="Apache Hudi: User-Facing Analytics JSON Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Apache Hudi" href="/cn/opensearch.xml">
<link rel="alternate" type="application/rss+xml" href="/cn/videos/rss.xml" title="Apache Hudi RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/cn/videos/atom.xml" title="Apache Hudi Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Comfortaa|Ubuntu|Roboto|Source+Code+Pro">
<link rel="stylesheet" href="https://at-ui.github.io/feather-font/css/iconfont.css"><title data-react-helmet="true">Troubleshooting | Apache Hudi</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://hudi.apache.org/cn/docs/troubleshooting"><meta data-react-helmet="true" name="docsearch:language" content="cn"><meta data-react-helmet="true" name="docsearch:version" content="0.14.1"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-0.14.1"><meta data-react-helmet="true" property="og:title" content="Troubleshooting | Apache Hudi"><meta data-react-helmet="true" name="description" content="For performance related issues, please refer to the tuning guide"><meta data-react-helmet="true" property="og:description" content="For performance related issues, please refer to the tuning guide"><meta data-react-helmet="true" name="keywords" content="hudi,troubleshooting"><link data-react-helmet="true" rel="icon" href="/cn/assets/images/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://hudi.apache.org/cn/docs/troubleshooting"><link data-react-helmet="true" rel="alternate" href="https://hudi.apache.org/docs/troubleshooting" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://hudi.apache.org/cn/docs/troubleshooting" hreflang="cn"><link data-react-helmet="true" rel="alternate" href="https://hudi.apache.org/docs/troubleshooting" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/cn/assets/css/styles.ea681a30.css">
<link rel="preload" href="/cn/assets/js/runtime~main.0acdb754.js" as="script">
<link rel="preload" href="/cn/assets/js/main.6d6aa24f.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_OuoZ">Skip to main content</a></div><div class="announcementBar_axC9" role="banner"><div class="announcementBarPlaceholder_xYHE"></div><div class="announcementBarContent_6uhP">⭐️ If you like Apache Hudi, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/apache/hudi">GitHub</a>! ⭐</div><button type="button" class="clean-btn close announcementBarClose_A3A1" aria-label="Close"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav class="navbar navbar--fixed-top navbarWrapper_UIa0"><div class="navbar__inner"><img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=8f594acf-9b77-44fb-9475-3e82ead1910c" width="0" height="0" alt=""><img referrerpolicy="no-referrer-when-downgrade" src="https://analytics.apache.org/matomo.php?idsite=47&amp;rec=1" width="0" height="0" alt=""><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/cn/"><div class="navbar__logo navbarLogo_Bz6n"><img src="/cn/assets/images/hudi.png" alt="Apache Hudi" class="themedImage_TMUO themedImage--light_4Vu1"><img src="/cn/assets/images/hudi.png" alt="Apache Hudi" class="themedImage_TMUO themedImage--dark_uzRr"></div></a><a class="navbar__item navbar__link" href="/cn/docs/overview"><div class="labelWrapperDropdown_Mqbj">Docs</div></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" class="navbar__link downloadLinkDropdownHide_aDP3"><div class="labelWrapperDropdown_Mqbj">Learn<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.5 1.25 5 4.75l-3.5-3.5" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cn/talks"><div class="labelWrapperDropdown_Mqbj">Talks</div></a></li><li><a class="dropdown__link" href="/cn/videos"><div class="labelWrapperDropdown_Mqbj">Video Guides</div></a></li><li><a class="dropdown__link" href="/cn/docs/faq"><div class="labelWrapperDropdown_Mqbj">FAQ</div></a></li><li><a class="dropdown__link" href="/cn/tech-specs"><div class="labelWrapperDropdown_Mqbj">Tech Specs</div></a></li><li><a class="dropdown__link" href="/cn/tech-specs-1point0"><div class="labelWrapperDropdown_Mqbj">Tech Specs 1.0</div></a></li><li><a href="https://cwiki.apache.org/confluence/display/HUDI" target="_blank" rel="noopener noreferrer" class="dropdown__link"><span class="externalLink_AE3f">Technical Wiki<svg width="20" height="20" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.965 8.745 9.01 16.7M10.561 8.758l6.403-.013-.013 6.403" stroke="#0DB1F9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><rect x="4.5" y="4.5" width="17" height="17" rx="2.5" stroke="#0DB1F9"></rect></svg></span></a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" class="navbar__link downloadLinkDropdownHide_aDP3"><div class="labelWrapperDropdown_Mqbj">Contribute<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.5 1.25 5 4.75l-3.5-3.5" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cn/contribute/how-to-contribute"><div class="labelWrapperDropdown_Mqbj">How to Contribute</div></a></li><li><a class="dropdown__link" href="/cn/contribute/developer-setup"><div class="labelWrapperDropdown_Mqbj">Developer Setup</div></a></li><li><a class="dropdown__link" href="/cn/contribute/rfc-process"><div class="labelWrapperDropdown_Mqbj">RFC Process</div></a></li><li><a class="dropdown__link" href="/cn/contribute/report-security-issues"><div class="labelWrapperDropdown_Mqbj">Report Security Issues</div></a></li><li><a href="https://issues.apache.org/jira/projects/HUDI/summary" target="_blank" rel="noopener noreferrer" class="dropdown__link"><span class="externalLink_AE3f">Report Issues<svg width="20" height="20" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.965 8.745 9.01 16.7M10.561 8.758l6.403-.013-.013 6.403" stroke="#0DB1F9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><rect x="4.5" y="4.5" width="17" height="17" rx="2.5" stroke="#0DB1F9"></rect></svg></span></a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" class="navbar__link downloadLinkDropdownHide_aDP3"><div class="labelWrapperDropdown_Mqbj">Community<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.5 1.25 5 4.75l-3.5-3.5" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cn/community/get-involved"><div class="labelWrapperDropdown_Mqbj">Get Involved</div></a></li><li><a class="dropdown__link" href="/cn/community/syncs"><div class="labelWrapperDropdown_Mqbj">Community Syncs</div></a></li><li><a class="dropdown__link" href="/cn/community/office_hours"><div class="labelWrapperDropdown_Mqbj">Office Hours</div></a></li><li><a class="dropdown__link" href="/cn/community/team"><div class="labelWrapperDropdown_Mqbj">Team</div></a></li></ul></div><a class="navbar__item navbar__link" href="/cn/blog"><div class="labelWrapperDropdown_Mqbj">Blog</div></a><a class="navbar__item navbar__link" href="/cn/powered-by"><div class="labelWrapperDropdown_Mqbj">Who&#x27;s Using</div></a><a class="navbar__item navbar__link" href="/cn/roadmap"><div class="labelWrapperDropdown_Mqbj">Roadmap</div></a><a class="navbar__item navbar__link" href="/cn/releases/download"><div class="labelWrapperDropdown_Mqbj">Download</div></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link downloadLinkDropdownHide_aDP3" href="/cn/docs/overview"><div class="labelWrapperDropdown_Mqbj">0.14.1<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.5 1.25 5 4.75l-3.5-3.5" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/cn/docs/next/troubleshooting"><div class="labelWrapperDropdown_Mqbj">Next</div></a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/cn/docs/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.14.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.14.0/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.14.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.13.1/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.13.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.13.0/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.13.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.12.3/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.12.3</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.12.2/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.12.2</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.12.1/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.12.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.12.0/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.12.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.11.1/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.11.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.11.0/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.11.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.10.1/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.10.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.10.0/troubleshooting"><div class="labelWrapperDropdown_Mqbj">0.10.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.9.0/overview"><div class="labelWrapperDropdown_Mqbj">0.9.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.8.0/overview"><div class="labelWrapperDropdown_Mqbj">0.8.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.7.0/overview"><div class="labelWrapperDropdown_Mqbj">0.7.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.6.0/quick-start-guide"><div class="labelWrapperDropdown_Mqbj">0.6.0</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.5.3/quick-start-guide"><div class="labelWrapperDropdown_Mqbj">0.5.3</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.5.2/quick-start-guide"><div class="labelWrapperDropdown_Mqbj">0.5.2</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.5.1/quick-start-guide"><div class="labelWrapperDropdown_Mqbj">0.5.1</div></a></li><li><a class="dropdown__link" href="/cn/docs/0.5.0/quick-start-guide"><div class="labelWrapperDropdown_Mqbj">0.5.0</div></a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" class="navbar__link downloadLinkDropdownHide_aDP3"><div class="labelWrapperDropdown_Mqbj"><span><svg viewBox="0 0 20 20" width="20" height="20" aria-hidden="true" class="iconLanguage_zID8"><path fill="currentColor" d="M19.753 10.909c-.624-1.707-2.366-2.726-4.661-2.726-.09 0-.176.002-.262.006l-.016-2.063 3.525-.607c.115-.019.133-.119.109-.231-.023-.111-.167-.883-.188-.976-.027-.131-.102-.127-.207-.109-.104.018-3.25.461-3.25.461l-.013-2.078c-.001-.125-.069-.158-.194-.156l-1.025.016c-.105.002-.164.049-.162.148l.033 2.307s-3.061.527-3.144.543c-.084.014-.17.053-.151.143.019.09.19 1.094.208 1.172.018.08.072.129.188.107l2.924-.504.035 2.018c-1.077.281-1.801.824-2.256 1.303-.768.807-1.207 1.887-1.207 2.963 0 1.586.971 2.529 2.328 2.695 3.162.387 5.119-3.06 5.769-4.715 1.097 1.506.256 4.354-2.094 5.98-.043.029-.098.129-.033.207l.619.756c.08.096.206.059.256.023 2.51-1.73 3.661-4.515 2.869-6.683zm-7.386 3.188c-.966-.121-.944-.914-.944-1.453 0-.773.327-1.58.876-2.156a3.21 3.21 0 011.229-.799l.082 4.277a2.773 2.773 0 01-1.243.131zm2.427-.553l.046-4.109c.084-.004.166-.01.252-.01.773 0 1.494.145 1.885.361.391.217-1.023 2.713-2.183 3.758zm-8.95-7.668a.196.196 0 00-.196-.145h-1.95a.194.194 0 00-.194.144L.008 16.916c-.017.051-.011.076.062.076h1.733c.075 0 .099-.023.114-.072l1.008-3.318h3.496l1.008 3.318c.016.049.039.072.113.072h1.734c.072 0 .078-.025.062-.076-.014-.05-3.083-9.741-3.494-11.04zm-2.618 6.318l1.447-5.25 1.447 5.25H3.226z"></path></svg><span>Chinese</span></span><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><path d="M14 6.457a6.842 6.842 0 0 0-7-6.02 6.843 6.843 0 0 0-7 6.02v1.085a6.843 6.843 0 0 0 7 6.02 6.843 6.843 0 0 0 7-6.02V6.457Zm-1.094 0h-2.625a9.92 9.92 0 0 0-.376-2.222 6.65 6.65 0 0 0 1.531-.875 5.25 5.25 0 0 1 1.444 3.097h.026Zm-8.032 0a8.479 8.479 0 0 1 .324-1.872 7.376 7.376 0 0 0 3.63 0c.175.61.284 1.239.325 1.872h-4.28Zm4.305 1.085a8.391 8.391 0 0 1-.324 1.873 7.464 7.464 0 0 0-3.658 0 8.479 8.479 0 0 1-.323-1.873h4.305Zm.35-4.375A10.342 10.342 0 0 0 8.75 1.75c.627.194 1.218.49 1.75.875a5.748 5.748 0 0 1-.998.577l.027-.035ZM7.254 1.54A8.75 8.75 0 0 1 8.46 3.552c-.48.11-.97.165-1.461.167-.492-.001-.982-.057-1.461-.167.308-.722.715-1.4 1.207-2.012h.508ZM4.498 3.202a5.748 5.748 0 0 1-.998-.577 6.029 6.029 0 0 1 1.75-.875c-.294.46-.546.947-.753 1.452Zm-1.873.15c.47.358.984.652 1.531.874A9.625 9.625 0 0 0 3.78 6.45H1.155a5.25 5.25 0 0 1 1.47-3.098ZM1.12 7.541h2.625c.038.753.164 1.5.376 2.223a6.649 6.649 0 0 0-1.531.875 5.25 5.25 0 0 1-1.47-3.098Zm3.377 3.255c.207.506.459.992.753 1.453a6.03 6.03 0 0 1-1.75-.875c.312-.226.646-.419.997-.578Zm2.25 1.663a8.594 8.594 0 0 1-1.208-2.013 6.501 6.501 0 0 1 2.922 0 8.54 8.54 0 0 1-1.207 2.013h-.508Zm2.755-1.663c.367.156.716.35 1.042.578a6.338 6.338 0 0 1-1.75.875c.275-.464.512-.95.708-1.453Zm1.873-.148a6.647 6.647 0 0 0-1.531-.875 9.45 9.45 0 0 0 .376-2.223h2.625a5.25 5.25 0 0 1-1.47 3.098Z" fill="#1C1E21"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h14v14H0z"></path></clipPath></defs></svg></div></a><ul class="dropdown__menu"><li><a href="/docs/troubleshooting" target="_self" rel="noopener noreferrer" class="dropdown__link"><div class="labelWrapperDropdown_Mqbj">English</div></a></li><li><a href="/cn/docs/troubleshooting" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active"><div class="labelWrapperDropdown_Mqbj">Chinese</div></a></li></ul></div><a href="https://github.com/apache/hudi" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"><div class="labelWrapperDropdown_Mqbj"></div></a><a href="https://twitter.com/ApacheHudi" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-twitter-link" aria-label="Hudi Twitter Handle"><div class="labelWrapperDropdown_Mqbj"></div></a><a href="https://join.slack.com/t/apache-hudi/shared_invite/zt-2ggm1fub8-_yt4Reu9djwqqVRFC7X49g" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-slack-link" aria-label="Hudi Slack Channel"><div class="labelWrapperDropdown_Mqbj"></div></a><a href="https://www.youtube.com/channel/UCs7AhE0BWaEPZSChrBR-Muw" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-youtube-link" aria-label="Hudi YouTube Channel"><div class="labelWrapperDropdown_Mqbj"></div></a><a href="https://www.linkedin.com/company/apache-hudi/?viewAsMember=true" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-linkedin-link" aria-label="Hudi Linkedin Page"><div class="labelWrapperDropdown_Mqbj"></div></a><div class="searchBox_fBfG"><div role="button" class="searchButton_g9-U" aria-label="Search"><span class="searchText_RI6l">Search</span><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="6.864" cy="6.864" r="5.243" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></circle><path d="m10.51 10.783 2.056 2.05" stroke="#1C1E21" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/cn/"><div class="navbar__logo"><img src="/cn/assets/images/hudi.png" alt="Apache Hudi" class="themedImage_TMUO themedImage--light_4Vu1"><img src="/cn/assets/images/hudi.png" alt="Apache Hudi" class="themedImage_TMUO themedImage--dark_uzRr"></div></a><button type="button" class="clean-btn navbar-sidebar__close"><svg viewBox="0 0 15 15" width="21" height="21"><g stroke="var(--ifm-color-emphasis-600)" stroke-width="1.2"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><div class="navbar-sidebar__items"><div class="navbar-sidebar__item menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/cn/docs/overview"><div class="labelWrapperDropdown_Mqbj">Docs</div></a></li><li class="menu__list-item menu__list-item--collapsed"><a role="button" class="menu__link menu__link--sublist"><div class="labelWrapperDropdown_Mqbj">Learn</div></a></li><li class="menu__list-item menu__list-item--collapsed"><a role="button" class="menu__link menu__link--sublist"><div class="labelWrapperDropdown_Mqbj">Contribute</div></a></li><li class="menu__list-item menu__list-item--collapsed"><a role="button" class="menu__link menu__link--sublist"><div class="labelWrapperDropdown_Mqbj">Community</div></a></li><li class="menu__list-item"><a class="menu__link" href="/cn/blog"><div class="labelWrapperDropdown_Mqbj">Blog</div></a></li><li class="menu__list-item"><a class="menu__link" href="/cn/powered-by"><div class="labelWrapperDropdown_Mqbj">Who&#x27;s Using</div></a></li><li class="menu__list-item"><a class="menu__link" href="/cn/roadmap"><div class="labelWrapperDropdown_Mqbj">Roadmap</div></a></li><li class="menu__list-item"><a class="menu__link" href="/cn/releases/download"><div class="labelWrapperDropdown_Mqbj">Download</div></a></li><li class="menu__list-item menu__list-item--collapsed"><a role="button" class="menu__link menu__link--sublist"><div class="labelWrapperDropdown_Mqbj">Versions</div></a></li><li class="menu__list-item menu__list-item--collapsed"><a role="button" class="menu__link menu__link--sublist"><div class="labelWrapperDropdown_Mqbj"><span><svg viewBox="0 0 20 20" width="20" height="20" aria-hidden="true" class="iconLanguage_zID8"><path fill="currentColor" d="M19.753 10.909c-.624-1.707-2.366-2.726-4.661-2.726-.09 0-.176.002-.262.006l-.016-2.063 3.525-.607c.115-.019.133-.119.109-.231-.023-.111-.167-.883-.188-.976-.027-.131-.102-.127-.207-.109-.104.018-3.25.461-3.25.461l-.013-2.078c-.001-.125-.069-.158-.194-.156l-1.025.016c-.105.002-.164.049-.162.148l.033 2.307s-3.061.527-3.144.543c-.084.014-.17.053-.151.143.019.09.19 1.094.208 1.172.018.08.072.129.188.107l2.924-.504.035 2.018c-1.077.281-1.801.824-2.256 1.303-.768.807-1.207 1.887-1.207 2.963 0 1.586.971 2.529 2.328 2.695 3.162.387 5.119-3.06 5.769-4.715 1.097 1.506.256 4.354-2.094 5.98-.043.029-.098.129-.033.207l.619.756c.08.096.206.059.256.023 2.51-1.73 3.661-4.515 2.869-6.683zm-7.386 3.188c-.966-.121-.944-.914-.944-1.453 0-.773.327-1.58.876-2.156a3.21 3.21 0 011.229-.799l.082 4.277a2.773 2.773 0 01-1.243.131zm2.427-.553l.046-4.109c.084-.004.166-.01.252-.01.773 0 1.494.145 1.885.361.391.217-1.023 2.713-2.183 3.758zm-8.95-7.668a.196.196 0 00-.196-.145h-1.95a.194.194 0 00-.194.144L.008 16.916c-.017.051-.011.076.062.076h1.733c.075 0 .099-.023.114-.072l1.008-3.318h3.496l1.008 3.318c.016.049.039.072.113.072h1.734c.072 0 .078-.025.062-.076-.014-.05-3.083-9.741-3.494-11.04zm-2.618 6.318l1.447-5.25 1.447 5.25H3.226z"></path></svg><span>Languages</span></span></div></a></li><li class="menu__list-item"><a href="https://github.com/apache/hudi" target="_blank" rel="noopener noreferrer" class="menu__link header-github-link" aria-label="GitHub repository"><div class="labelWrapperDropdown_Mqbj"></div></a></li><li class="menu__list-item"><a href="https://twitter.com/ApacheHudi" target="_blank" rel="noopener noreferrer" class="menu__link header-twitter-link" aria-label="Hudi Twitter Handle"><div class="labelWrapperDropdown_Mqbj"></div></a></li><li class="menu__list-item"><a href="https://join.slack.com/t/apache-hudi/shared_invite/zt-2ggm1fub8-_yt4Reu9djwqqVRFC7X49g" target="_blank" rel="noopener noreferrer" class="menu__link header-slack-link" aria-label="Hudi Slack Channel"><div class="labelWrapperDropdown_Mqbj"></div></a></li><li class="menu__list-item"><a href="https://www.youtube.com/channel/UCs7AhE0BWaEPZSChrBR-Muw" target="_blank" rel="noopener noreferrer" class="menu__link header-youtube-link" aria-label="Hudi YouTube Channel"><div class="labelWrapperDropdown_Mqbj"></div></a></li><li class="menu__list-item"><a href="https://www.linkedin.com/company/apache-hudi/?viewAsMember=true" target="_blank" rel="noopener noreferrer" class="menu__link header-linkedin-link" aria-label="Hudi Linkedin Page"><div class="labelWrapperDropdown_Mqbj"></div></a></li></ul></div><div class="navbar-sidebar__item menu"><button type="button" class="clean-btn navbar-sidebar__back">← Back to main menu</button></div></div></div></nav><div class="main-wrapper docs-wrapper docs-doc-page"><div class="docPage_GMj9"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_i9tI" type="button"></button><aside class="docSidebarContainer_k0Pq"><div class="sidebar_a3j0"><nav class="menu thin-scrollbar menu_cyFh menuWithAnnouncementBar_+O1J"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cn/docs/overview">Overview</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/quick-start-guide">Quick Start</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/quick-start-guide">Spark Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/flink-quick-start-guide">Flink Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/docker_demo">Docker Demo</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/timeline">Concepts</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/sql_ddl">How To</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/migration_guide">Services</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/basic_configurations">Configurations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active hasHref_TwRn" href="/cn/docs/performance">Guides</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/deployment">Deployment</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/cli">CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/metrics">Metrics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/encryption">Encryption</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/cn/docs/troubleshooting">Troubleshooting</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/tuning-guide">Tuning Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/cn/docs/flink_tuning">Flink Tuning</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" tabindex="0" href="/cn/docs/cloud">Storage Configurations</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist hasHref_TwRn" href="/cn/docs/faq">Frequently Asked Questions(FAQs)</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cn/docs/use_cases">Use Cases</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cn/docs/faq">Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cn/docs/privacy">Privacy Policy</a></li></ul></nav></div></aside><main class="docMainContainer_Q970"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_zHA2"><div class="docItemContainer_oiyr"><article><span class="theme-doc-version-badge badge badge--secondary">Version: <!-- -->0.14.1</span><div class="tocCollapsible_aw-L theme-doc-toc-mobile tocMobile_Tx6Y"><button type="button" class="clean-btn tocCollapsibleButton_zr6a">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Troubleshooting</h1></header><p>For performance related issues, please refer to the <a href="https://hudi.apache.org/docs/tuning-guide" target="_blank" rel="noopener noreferrer">tuning guide</a></p><h3 class="anchor anchorWithStickyNavbar_y2LR" id="writing-tables">Writing Tables<a class="hash-link" href="#writing-tables" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_y2LR" id="orgapacheparquetioinvalidrecordexception-parquetavro-schema-mismatch-avro-field-col1-not-found">org.apache.parquet.io.InvalidRecordException: Parquet/Avro schema mismatch: Avro field &#x27;col1&#x27; not found<a class="hash-link" href="#orgapacheparquetioinvalidrecordexception-parquetavro-schema-mismatch-avro-field-col1-not-found" title="Direct link to heading"></a></h4><p>It is recommended that schema should evolve in <a href="https://docs.confluent.io/platform/current/schema-registry/avro.html" target="_blank" rel="noopener noreferrer">backwards compatible way</a> while using Hudi. Please refer here for more information on avro schema resolution - <a href="https://avro.apache.org/docs/1.8.2/spec.html" target="_blank" rel="noopener noreferrer">https://avro.apache.org/docs/1.8.2/spec.html</a>. This error generally occurs when the schema has evolved in backwards <strong>incompatible</strong> way by deleting some column &#x27;col1&#x27; and we are trying to update some record in parquet file which has ay been written with previous schema (which had &#x27;col1&#x27;). In such cases, parquet tries to find all the present fields in the incoming record and when it finds &#x27;col1&#x27; is not present, the mentioned exception is thrown.</p><p>The fix for this is to try and create uber schema using all the schema versions evolved so far for the concerned event and use this uber schema as the target schema. One of the good approaches can be fetching schema from hive metastore and merging it with the current schema.</p><p>Sample stacktrace where a field named &quot;toBeDeletedStr&quot; was omitted from new batch of updates : <a href="https://gist.github.com/nsivabalan/cafc53fc9a8681923e4e2fa4eb2133fe" target="_blank" rel="noopener noreferrer">https://gist.github.com/nsivabalan/cafc53fc9a8681923e4e2fa4eb2133fe</a></p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="javalangunsupportedoperationexception-orgapacheparquetavroavroconvertersfieldintegerconverter">java.lang.UnsupportedOperationException: org.apache.parquet.avro.AvroConverters$FieldIntegerConverter<a class="hash-link" href="#javalangunsupportedoperationexception-orgapacheparquetavroavroconvertersfieldintegerconverter" title="Direct link to heading"></a></h4><p>This error will again occur due to schema evolutions in non-backwards compatible way. Basically there is some incoming update U for a record R which is already written to your Hudi dataset in the concerned parquet file. R contains field F which is having certain data type, let us say long. U has the same field F with updated data type of int type. Such incompatible data type conversions are not supported by Parquet FS.</p><p>For such errors, please try to ensure only valid data type conversions are happening in your primary data source from where you are trying to ingest.</p><p>Sample stacktrace when trying to evolve a field from Long type to Integer type with Hudi : <a href="https://gist.github.com/nsivabalan/0d81cd60a3e7a0501e6a0cb50bfaacea" target="_blank" rel="noopener noreferrer">https://gist.github.com/nsivabalan/0d81cd60a3e7a0501e6a0cb50bfaacea</a></p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="schemacompatabilityexception-unable-to-validate-the-rewritten-record">SchemaCompatabilityException: Unable to validate the rewritten record<a class="hash-link" href="#schemacompatabilityexception-unable-to-validate-the-rewritten-record" title="Direct link to heading"></a></h4><p>This can possibly occur if your schema has some non-nullable field whose value is not present or is null. It is recommended to evolve schema in backwards compatible ways. In essence, this means either have every newly added field as nullable or define default values for every new field. See <a href="https://hudi.apache.org/docs/schema_evolution" target="_blank" rel="noopener noreferrer">Schema Evolution</a> docs for more.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="int96-int64-and-timestamp-compatibility">INT96, INT64 and timestamp compatibility<a class="hash-link" href="#int96-int64-and-timestamp-compatibility" title="Direct link to heading"></a></h4><p><a href="https://hudi.apache.org/docs/configurations#hoodiedatasourcehive_syncsupport_timestamp" target="_blank" rel="noopener noreferrer">https://hudi.apache.org/docs/configurations#hoodiedatasourcehive<!-- -->_<!-- -->syncsupport<!-- -->_<!-- -->timestamp</a></p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="i-am-seeing-lot-of-archive-files-how-do-i-control-the-number-of-archive-commit-files-generated">I am seeing lot of archive files. How do I control the number of archive commit files generated?<a class="hash-link" href="#i-am-seeing-lot-of-archive-files-how-do-i-control-the-number-of-archive-commit-files-generated" title="Direct link to heading"></a></h4><p>Please note that in cloud stores that do not support log append operations, Hudi is forced to create new archive files to archive old metadata operations.
You can increase <code>hoodie.commits.archival.batch</code> moving forward to increase the number of commits archived per archive file.
In addition, you can increase the difference between the 2 watermark configurations : <code>hoodie.keep.max.commits</code> (default : 30)
and <code>hoodie.keep.min.commits</code> (default : 20). This way, you can reduce the number of archive files created and also
at the same time increase the number of metadata archived per archive file. Note that post 0.7.0 release where we are
adding consolidated Hudi metadata (<a href="https://cwiki.apache.org/confluence/display/HUDI/RFC+-+15%3A+HUDI+File+Listing+Improvements" target="_blank" rel="noopener noreferrer">RFC-15</a>),
the follow up work would involve re-organizing archival metadata so that we can do periodic compactions to control
file-sizing of these archive files.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="how-can-i-resolve-the-nosuchmethoderror-from-hbase-when-using-hudi-with-metadata-table-on-hdfs">How can I resolve the NoSuchMethodError from HBase when using Hudi with metadata table on HDFS?<a class="hash-link" href="#how-can-i-resolve-the-nosuchmethoderror-from-hbase-when-using-hudi-with-metadata-table-on-hdfs" title="Direct link to heading"></a></h4><p>From 0.11.0 release, we have upgraded the HBase version to 2.4.9, which is released based on Hadoop 2.x. Hudi&#x27;s metadata</p><p>table uses HFile as the base file format, relying on the HBase library. When enabling metadata table in a Hudi table on</p><p>HDFS using Hadoop 3.x, NoSuchMethodError can be thrown due to compatibility issues between Hadoop 2.x and 3.x.</p><p>To address this, here&#x27;s the workaround:</p><p>(1) Download HBase source code from <a href="https://github.com/apache/hbase" target="_blank" rel="noopener noreferrer"><code>https://github.com/apache/hbase</code></a>;</p><p>(2) Switch to the source code of 2.4.9 release with the tag <code>rel/2.4.9</code>:</p><div class="codeBlockContainer_J+bg language-bash theme-code-block"><div class="codeBlockContent_csEI bash"><pre tabindex="0" class="prism-code language-bash codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> checkout rel/2.4.9</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>(3) Package a new version of HBase 2.4.9 with Hadoop 3 version:</p><div class="codeBlockContainer_J+bg language-bash theme-code-block"><div class="codeBlockContent_csEI bash"><pre tabindex="0" class="prism-code language-bash codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn clean </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> -Denforcer.skip -DskipTests -Dhadoop.profile</span><span class="token operator">=</span><span class="token number">3.0</span><span class="token plain"> -Psite-install-step</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>(4) Package Hudi again.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="how-can-i-resolve-the-runtimeexception-saying-hbase-defaultxml-file-seems-to-be-for-an-older-version-of-hbase">How can I resolve the RuntimeException saying <code>hbase-default.xml file seems to be for an older version of HBase</code>?<a class="hash-link" href="#how-can-i-resolve-the-runtimeexception-saying-hbase-defaultxml-file-seems-to-be-for-an-older-version-of-hbase" title="Direct link to heading"></a></h4><p>This usually happens when there are other HBase libs provided by the runtime environment in the classpath, such as</p><p>Cloudera CDP stack, causing the conflict. To get around the RuntimeException, you can set the</p><p><code>hbase.defaults.for.version.skip</code> to <code>true</code> in the <code>hbase-site.xml</code> configuration file, e.g., overwriting the config</p><p>within the Cloudera manager.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="i-see-two-different-records-for-the-same-record-key-value-each-record-key-with-a-different-timestamp-format-how-is-this-possible">I see two different records for the same record key value, each record key with a different timestamp format. How is this possible?<a class="hash-link" href="#i-see-two-different-records-for-the-same-record-key-value-each-record-key-with-a-different-timestamp-format-how-is-this-possible" title="Direct link to heading"></a></h4><p>This is a known issue with enabling row-writer for bulk_insert operation. When you do a bulk_insert followed by another
write operation such as upsert/insert this might be observed for timestamp fields specifically. For example, bulk_insert might produce
timestamp <code>2016-12-29 09:54:00.0</code> for record key whereas non bulk_insert write operation might produce a long value like
<code>1483023240000000</code> for the record key thus creating two different records. To fix this, starting 0.10.1 a new config <a href="https://hudi.apache.org/docs/configurations/#hoodiedatasourcewritekeygeneratorconsistentlogicaltimestampenabled" target="_blank" rel="noopener noreferrer">hoodie.datasource.write.keygenerator.consistent.logical.timestamp.enabled</a>
is introduced to bring consistency irrespective of whether row writing is enabled on not. However, for the sake of
backwards compatibility and not breaking existing pipelines, this config is set to false by default and will have to be enabled explicitly.</p><h3 class="anchor anchorWithStickyNavbar_y2LR" id="querying-tables">Querying Tables<a class="hash-link" href="#querying-tables" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_y2LR" id="how-can-i-now-query-the-hudi-dataset-i-just-wrote">How can I now query the Hudi dataset I just wrote?<a class="hash-link" href="#how-can-i-now-query-the-hudi-dataset-i-just-wrote" title="Direct link to heading"></a></h4><p>Unless Hive sync is enabled, the dataset written by Hudi using one of the methods above can simply be queries via the Spark datasource like any other source.</p><div class="codeBlockContainer_J+bg language-scala theme-code-block"><div class="codeBlockContent_csEI scala"><pre tabindex="0" class="prism-code language-scala codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">val hudiSnapshotQueryDF = spark</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .read()</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .format(&quot;hudi&quot;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .option(DataSourceReadOptions.QUERY_TYPE_OPT_KEY(), DataSourceReadOptions.QUERY_TYPE_SNAPSHOT_OPT_VAL())</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .load(basePath) </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">val hudiIncQueryDF = spark.read().format(&quot;hudi&quot;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .option(DataSourceReadOptions.VIEW_TYPE_OPT_KEY(), DataSourceReadOptions.VIEW_TYPE_INCREMENTAL_OPT_VAL())</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .option(DataSourceReadOptions.BEGIN_INSTANTTIME_OPT_KEY(), &lt;beginInstantTime&gt;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> .load(basePath);</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>if Hive Sync is enabled in the <a href="https://github.com/apache/hudi/blob/d3edac4612bde2fa9deca9536801dbc48961fb95/docker/demo/sparksql-incremental.commands#L50" target="_blank" rel="noopener noreferrer">deltastreamer</a> tool or <a href="https://hudi.apache.org/docs/configurations#hoodiedatasourcehive_syncenable" target="_blank" rel="noopener noreferrer">datasource</a>, the dataset is available in Hive as a couple of tables, that can now be read using HiveQL, Presto or SparkSQL. See <a href="https://hudi.apache.org/docs/querying_data/" target="_blank" rel="noopener noreferrer">here</a> for more.</p><h3 class="anchor anchorWithStickyNavbar_y2LR" id="data-quality-issues">Data Quality Issues<a class="hash-link" href="#data-quality-issues" title="Direct link to heading"></a></h3><p>Section below generally aids in debugging Hudi failures. Off the bat, the following metadata is added to every record to help triage issues easily using standard Hadoop SQL engines (Hive/PrestoDB/Spark)</p><ul><li><strong>_<!-- -->hoodie<!-- -->_<!-- -->record<!-- -->_<!-- -->key</strong> - Treated as a primary key within each DFS partition, basis of all updates/inserts</li><li><strong>_<!-- -->hoodie<!-- -->_<!-- -->commit<!-- -->_<!-- -->time</strong> - Last commit that touched this record</li><li><strong>_<!-- -->hoodie_commit_seqno</strong> - This field contains a unique sequence number for each record within each transaction.</li><li><strong>_<!-- -->hoodie<!-- -->_<!-- -->file<!-- -->_<!-- -->name</strong> - Actual file name containing the record (super useful to triage duplicates)</li><li><strong>_<!-- -->hoodie<!-- -->_<!-- -->partition<!-- -->_<!-- -->path</strong> - Path from basePath that identifies the partition containing this record</li></ul><h4 class="anchor anchorWithStickyNavbar_y2LR" id="missing-records">Missing records<a class="hash-link" href="#missing-records" title="Direct link to heading"></a></h4><p>Please check if there were any write errors using the admin commands, during the window at which the record could have been written.</p><p>If you do find errors, then the record was not actually written by Hudi, but handed back to the application to decide what to do with it.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="duplicates">Duplicates<a class="hash-link" href="#duplicates" title="Direct link to heading"></a></h4><p>First of all, please confirm if you do indeed have duplicates <strong>AFTER</strong> ensuring the query is accessing the Hudi table <a href="https://hudi.apache.org/docs/querying_data/" target="_blank" rel="noopener noreferrer">properly</a> .</p><ul><li>If confirmed, please use the metadata fields above, to identify the physical files &amp; partition files containing the records .</li><li>If duplicates span files across partitionpath, then this means your application is generating different partitionPaths for same recordKey, Please fix your app</li><li>if duplicates span multiple files within the same partitionpath, please engage with mailing list. This should not happen. You can use the <code>records deduplicate</code> command to fix your data.</li></ul><h3 class="anchor anchorWithStickyNavbar_y2LR" id="ingestion">Ingestion<a class="hash-link" href="#ingestion" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_y2LR" id="javaioeofexception-received--1-when-reading-from-channel-socket-has-likely-been-closed-at-kafkautilsutilsreadutilsscala381-at-kafkanetworkboundedbytebufferreceivereadfromboundedbytebufferreceivescala54">java.io.EOFException: Received -1 when reading from channel, socket has likely been closed. at <a href="http://kafka.utils.Utils$.read" target="_blank" rel="noopener noreferrer">kafka.utils.Utils$.read</a>(Utils.scala:381) at kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)<a class="hash-link" href="#javaioeofexception-received--1-when-reading-from-channel-socket-has-likely-been-closed-at-kafkautilsutilsreadutilsscala381-at-kafkanetworkboundedbytebufferreceivereadfromboundedbytebufferreceivescala54" title="Direct link to heading"></a></h4><p>This might happen if you are ingesting from Kafka source, your cluster is ssl enabled by default and you are using some version of Hudi older than 0.5.1. Previous versions of Hudi were using spark-streaming-kafka-0-8 library. With the release of 0.5.1 version of Hudi, spark was upgraded to 2.4.4 and spark-streaming-kafka library was upgraded to spark-streaming-kafka-0-10. SSL support was introduced from spark-streaming-kafka-0-10. Please see here for reference.</p><p>The workaround can be either use Kafka cluster which is not ssl enabled, else upgrade Hudi version to at least 0.5.1 or spark-streaming-kafka library to spark-streaming-kafka-0-10.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="javalangillegalargumentexception-could-not-find-a-kafkaclient-entry-in-the-jaas-configuration-system-property-javasecurityauthloginconfig-is-not-set">java.lang.IllegalArgumentException: Could not find a &#x27;KafkaClient&#x27; entry in the JAAS configuration. System property &#x27;java.security.auth.login.config&#x27; is not set<a class="hash-link" href="#javalangillegalargumentexception-could-not-find-a-kafkaclient-entry-in-the-jaas-configuration-system-property-javasecurityauthloginconfig-is-not-set" title="Direct link to heading"></a></h4><p>This might happen when you are trying to ingest from ssl enabled kafka source and your setup is not able to read jars.conf file and its properties. To fix this, you need to pass the required property as part of your spark-submit command something like</p><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--files jaas.conf,failed_tables.json --conf &#x27;spark.driver.extraJavaOptions=-Djava.security.auth.login.config=jaas.conf&#x27; --conf &#x27;spark.executor.extraJavaOptions=-Djava.security.auth.login.config=jaas.conf&#x27;</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><h4 class="anchor anchorWithStickyNavbar_y2LR" id="ioexception-write-end-dead-or-circular-reference-while-writing-to-gcs">IOException: Write end dead or CIRCULAR REFERENCE while writing to GCS<a class="hash-link" href="#ioexception-write-end-dead-or-circular-reference-while-writing-to-gcs" title="Direct link to heading"></a></h4><p>If you encounter below stacktrace, please set the spark config as suggested below.</p><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--conf &#x27;spark.hadoop.fs.gs.outputstream.pipe.type=NIO_CHANNEL_PIPE&#x27;</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at org.apache.hudi.io.storage.HoodieAvroParquetWriter.close(HoodieAvroParquetWriter.java:84)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Suppressed: java.io.IOException: Upload failed for &#x27;gs://bucket/b0ee4274-5193-4a26-bcff-d60654fd7b24-0_0-42-671_20230228055305900.parquet&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ... 44 more</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Caused by: java.io.IOException: Write end dead</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at java.base/java.io.PipedInputStream.read(PipedInputStream.java:310)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at java.base/java.io.PipedInputStream.read(PipedInputStream.java:377)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at com.google.cloud.hadoop.repackaged.gcs.com.google.api.client.util.ByteStreams.read(ByteStreams.java:172)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> at ...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ... 3 more</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Caused by: [CIRCULAR REFERENCE: java.io.IOException: Write end dead]</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>We have an active patch(<a href="https://github.com/apache/hudi/pull/7245" target="_blank" rel="noopener noreferrer">https://github.com/apache/hudi/pull/7245</a>) on fixing the issue. Until we land this, you can use above config to bypass the issue.</p><h3 class="anchor anchorWithStickyNavbar_y2LR" id="hive-sync">Hive Sync<a class="hash-link" href="#hive-sync" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_y2LR" id="sqlexception-following-columns-have-types-incompatible">SQLException: following columns have types incompatible<a class="hash-link" href="#sqlexception-following-columns-have-types-incompatible" title="Direct link to heading"></a></h4><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. The following columns have types incompatible with the existing columns in their respective positions : col1,col2</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>This will usually happen when you are trying to add a new column to existing hive table using our <a href="https://github.com/apache/hudi/blob/be4dfccbb24794dfac3714818971229870d24a2c/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java" target="_blank" rel="noopener noreferrer">HiveSyncTool.java</a> class. Databases usually will not allow to modify a column datatype from a higher order to lower order or cases where the datatypes may clash with the data that is already stored/will be stored in the table. To fix the same, try setting the following property -</p><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">set hive.metastore.disallow.incompatible.col.type.changes=false;</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><h4 class="anchor anchorWithStickyNavbar_y2LR" id="hoodiehivesyncexception-could-not-convert-field-type-from-type1-to-type2-for-field-col1">HoodieHiveSyncException: Could not convert field Type from <code>&lt;type1&gt;</code> to <code>&lt;type2&gt;</code> for field col1<a class="hash-link" href="#hoodiehivesyncexception-could-not-convert-field-type-from-type1-to-type2-for-field-col1" title="Direct link to heading"></a></h4><p>This occurs because HiveSyncTool currently supports only few compatible data type conversions. Doing any other incompatible change will throw this exception. Please check the data type evolution for the concerned field and verify if it indeed can be considered as a valid data type conversion as per Hudi code base.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="orgapachehadoophiveqlparsesemanticexception-database-does-not-exist-test_db">org.apache.hadoop.hive.ql.parse.SemanticException: Database does not exist: test<!-- -->_<!-- -->db<a class="hash-link" href="#orgapachehadoophiveqlparsesemanticexception-database-does-not-exist-test_db" title="Direct link to heading"></a></h4><p>This generally occurs if you are trying to do Hive sync for your Hudi dataset and the configured hive<!-- -->_<!-- -->sync database does not exist. Please create the corresponding database on your Hive cluster and try again.</p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="orgapachethrifttapplicationexception-invalid-method-name-get_table_req">org.apache.thrift.TApplicationException: Invalid method name: &#x27;get<!-- -->_<!-- -->table<!-- -->_<!-- -->req&#x27;<a class="hash-link" href="#orgapachethrifttapplicationexception-invalid-method-name-get_table_req" title="Direct link to heading"></a></h4><p>This issue is caused by hive version conflicts, hudi built with hive-2.3.x version, so if still want hudi work with older hive version</p><div class="codeBlockContainer_J+bg language-plain theme-code-block"><div class="codeBlockContent_csEI plain"><pre tabindex="0" class="prism-code language-plain codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Steps: (build with hive-2.1.0)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">1. git clone git@github.com:apache/incubator-hudi.git</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">2. rm hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">3. mvn clean package -DskipTests -DskipITs -Dhive.version=2.1.0</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><h4 class="anchor anchorWithStickyNavbar_y2LR" id="javalangunsupportedoperationexception-table-rename-is-not-supported">java.lang.UnsupportedOperationException: Table rename is not supported<a class="hash-link" href="#javalangunsupportedoperationexception-table-rename-is-not-supported" title="Direct link to heading"></a></h4><p>This issue could occur when syncing to hive. Possible reason is that, hive does not play well if your table name has upper and lower case letter. Try to have all lower case letters for your table name and it should likely get fixed. Related issue: <a href="https://github.com/apache/hudi/issues/2409" target="_blank" rel="noopener noreferrer">https://github.com/apache/hudi/issues/2409</a></p><h4 class="anchor anchorWithStickyNavbar_y2LR" id="how-can-i-resolve-the-illegalargumentexception-saying-partitions-must-be-in-the-same-table-when-attempting-to-sync-to-a-metastore">How can I resolve the IllegalArgumentException saying <code>Partitions must be in the same table</code> when attempting to sync to a metastore?<a class="hash-link" href="#how-can-i-resolve-the-illegalargumentexception-saying-partitions-must-be-in-the-same-table-when-attempting-to-sync-to-a-metastore" title="Direct link to heading"></a></h4><p>This will occur when capital letters are used in the table name. Metastores such as Hive automatically convert table names</p><p>to lowercase. While we allow capitalization on Hudi tables, if you would like to use a metastore you may be required to</p><p>use all lowercase letters. More details on how this issue presents can be found <a href="https://github.com/apache/hudi/issues/6832" target="_blank" rel="noopener noreferrer">here</a>.</p><h4></h4></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/hudi/tree/asf-site/website/versioned_docs/version-0.14.1/troubleshooting.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_mS5F" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_mt2f"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/cn/docs/encryption"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Encryption</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/cn/docs/tuning-guide"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Tuning Guide</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_vrFS thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#writing-tables" class="table-of-contents__link toc-highlight">Writing Tables</a><ul><li><a href="#orgapacheparquetioinvalidrecordexception-parquetavro-schema-mismatch-avro-field-col1-not-found" class="table-of-contents__link toc-highlight">org.apache.parquet.io.InvalidRecordException: Parquet/Avro schema mismatch: Avro field &#39;col1&#39; not found</a></li><li><a href="#javalangunsupportedoperationexception-orgapacheparquetavroavroconvertersfieldintegerconverter" class="table-of-contents__link toc-highlight">java.lang.UnsupportedOperationException: org.apache.parquet.avro.AvroConverters$FieldIntegerConverter</a></li><li><a href="#schemacompatabilityexception-unable-to-validate-the-rewritten-record" class="table-of-contents__link toc-highlight">SchemaCompatabilityException: Unable to validate the rewritten record</a></li><li><a href="#int96-int64-and-timestamp-compatibility" class="table-of-contents__link toc-highlight">INT96, INT64 and timestamp compatibility</a></li><li><a href="#i-am-seeing-lot-of-archive-files-how-do-i-control-the-number-of-archive-commit-files-generated" class="table-of-contents__link toc-highlight">I am seeing lot of archive files. How do I control the number of archive commit files generated?</a></li><li><a href="#how-can-i-resolve-the-nosuchmethoderror-from-hbase-when-using-hudi-with-metadata-table-on-hdfs" class="table-of-contents__link toc-highlight">How can I resolve the NoSuchMethodError from HBase when using Hudi with metadata table on HDFS?</a></li><li><a href="#how-can-i-resolve-the-runtimeexception-saying-hbase-defaultxml-file-seems-to-be-for-an-older-version-of-hbase" class="table-of-contents__link toc-highlight">How can I resolve the RuntimeException saying <code>hbase-default.xml file seems to be for an older version of HBase</code>?</a></li><li><a href="#i-see-two-different-records-for-the-same-record-key-value-each-record-key-with-a-different-timestamp-format-how-is-this-possible" class="table-of-contents__link toc-highlight">I see two different records for the same record key value, each record key with a different timestamp format. How is this possible?</a></li></ul></li><li><a href="#querying-tables" class="table-of-contents__link toc-highlight">Querying Tables</a><ul><li><a href="#how-can-i-now-query-the-hudi-dataset-i-just-wrote" class="table-of-contents__link toc-highlight">How can I now query the Hudi dataset I just wrote?</a></li></ul></li><li><a href="#data-quality-issues" class="table-of-contents__link toc-highlight">Data Quality Issues</a><ul><li><a href="#missing-records" class="table-of-contents__link toc-highlight">Missing records</a></li><li><a href="#duplicates" class="table-of-contents__link toc-highlight">Duplicates</a></li></ul></li><li><a href="#ingestion" class="table-of-contents__link toc-highlight">Ingestion</a><ul><li><a href="#javaioeofexception-received--1-when-reading-from-channel-socket-has-likely-been-closed-at-kafkautilsutilsreadutilsscala381-at-kafkanetworkboundedbytebufferreceivereadfromboundedbytebufferreceivescala54" class="table-of-contents__link toc-highlight">java.io.EOFException: Received -1 when reading from channel, socket has likely been closed. at kafka.utils.Utils$.read(Utils.scala:381) at kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)</a></li><li><a href="#javalangillegalargumentexception-could-not-find-a-kafkaclient-entry-in-the-jaas-configuration-system-property-javasecurityauthloginconfig-is-not-set" class="table-of-contents__link toc-highlight">java.lang.IllegalArgumentException: Could not find a &#39;KafkaClient&#39; entry in the JAAS configuration. System property &#39;java.security.auth.login.config&#39; is not set</a></li><li><a href="#ioexception-write-end-dead-or-circular-reference-while-writing-to-gcs" class="table-of-contents__link toc-highlight">IOException: Write end dead or CIRCULAR REFERENCE while writing to GCS</a></li></ul></li><li><a href="#hive-sync" class="table-of-contents__link toc-highlight">Hive Sync</a><ul><li><a href="#sqlexception-following-columns-have-types-incompatible" class="table-of-contents__link toc-highlight">SQLException: following columns have types incompatible</a></li><li><a href="#hoodiehivesyncexception-could-not-convert-field-type-from-type1-to-type2-for-field-col1" class="table-of-contents__link toc-highlight">HoodieHiveSyncException: Could not convert field Type from <code>&lt;type1&gt;</code> to <code>&lt;type2&gt;</code> for field col1</a></li><li><a href="#orgapachehadoophiveqlparsesemanticexception-database-does-not-exist-test_db" class="table-of-contents__link toc-highlight">org.apache.hadoop.hive.ql.parse.SemanticException: Database does not exist: test_db</a></li><li><a href="#orgapachethrifttapplicationexception-invalid-method-name-get_table_req" class="table-of-contents__link toc-highlight">org.apache.thrift.TApplicationException: Invalid method name: &#39;get_table_req&#39;</a></li><li><a href="#javalangunsupportedoperationexception-table-rename-is-not-supported" class="table-of-contents__link toc-highlight">java.lang.UnsupportedOperationException: Table rename is not supported</a></li><li><a href="#how-can-i-resolve-the-illegalargumentexception-saying-partitions-must-be-in-the-same-table-when-attempting-to-sync-to-a-metastore" class="table-of-contents__link toc-highlight">How can I resolve the IllegalArgumentException saying <code>Partitions must be in the same table</code> when attempting to sync to a metastore?</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">About</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/cn/blog/2021/07/21/streaming-data-lake-platform">Our Vision</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/concepts">Concepts</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/community/team">Team</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/releases/release-0.14.1">Releases</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/releases/download">Download</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/powered-by">Who&#x27;s Using</a></li></ul></div><div class="col footer__col"><div class="footer__title">Learn</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/cn/docs/quick-start-guide">Quick Start</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/docker_demo">Docker Demo</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/blog">Blog</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/talks">Talks</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/videos">Video Guides</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/faq">FAQ</a></li><li class="footer__item"><a href="https://cwiki.apache.org/confluence/display/HUDI" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>Technical Wiki<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li></ul></div><div class="col footer__col"><div class="footer__title">Hudi On Cloud</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/cn/docs/s3_hoodie">AWS</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/gcs_hoodie">Google Cloud</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/oss_hoodie">Alibaba Cloud</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/azure_hoodie">Microsoft Azure</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/cos_hoodie">Tencent Cloud</a></li><li class="footer__item"><a class="footer__link-item" href="/cn/docs/ibm_cos_hoodie">IBM Cloud</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/cn/community/get-involved">Get Involved</a></li><li class="footer__item"><a href="https://join.slack.com/t/apache-hudi/shared_invite/zt-2ggm1fub8-_yt4Reu9djwqqVRFC7X49g" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>Slack<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li><li class="footer__item"><a href="https://github.com/apache/hudi" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li><li class="footer__item"><a href="https://twitter.com/ApacheHudi" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li><li class="footer__item"><a href="https://www.youtube.com/channel/UCs7AhE0BWaEPZSChrBR-Muw" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>YouTube<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li><li class="footer__item"><a href="https://www.linkedin.com/company/apache-hudi/?viewAsMember=true" target="_blank" rel="noopener noreferrer" class="footer__link-item"><span>Linkedin<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_wgqa"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li><li class="footer__item"><a href="mailto:dev-subscribe@hudi.apache.org?Subject=SubscribeToHudi" target="_blank" rel="noopener noreferrer" class="footer__link-item">Mailing List</a></li></ul></div><div class="col footer__col"><div class="footer__title">Apache</div><ul class="footer__items"><li class="footer__item"><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks</a></li><li class="footer__item"><a href="https://www.apache.org/licenses" target="_blank" rel="noopener noreferrer" class="footer__link-item">License</a></li><li class="footer__item"><a href="https://www.apache.org/security" target="_blank" rel="noopener noreferrer" class="footer__link-item">Security</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship</a></li><li class="footer__item"><a href="https://www.apache.org" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation</a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://hudi.apache.org/" target="_blank" rel="noopener noreferrer" class="footerLogoLink_SRtH"><img src="/cn/assets/images/logo-big.png" alt="Apache Hudi™" class="themedImage_TMUO themedImage--light_4Vu1 footer__logo"><img src="/cn/assets/images/logo-big.png" alt="Apache Hudi™" class="themedImage_TMUO themedImage--dark_uzRr footer__logo"></a></div><div class="footer__copyright">Copyright © 2021 <a href="https://apache.org">The Apache Software Foundation</a>, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0"> Apache License, Version 2.0</a>.
Hudi, Apache and the Apache feather logo are trademarks of The Apache Software Foundation. <a href="/docs/privacy">Privacy Policy</a></div></div></div></footer></div>
<script src="/cn/assets/js/runtime~main.0acdb754.js"></script>
<script src="/cn/assets/js/main.6d6aa24f.js"></script>
</body>
</html>