CINXE.COM
<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.3.9 plugin-docs plugin-id-default docs-doc-id-connector-v2/sink/S3-Redshift" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v2.4.3"> <title data-rh="true">S3Redshift | Apache SeaTunnel</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://seatunnel.apache.org/docs/2.3.9/connector-v2/sink/S3-Redshift"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="2.3.9"><meta data-rh="true" name="docusaurus_tag" content="docs-default-2.3.9"><meta data-rh="true" name="docsearch:version" content="2.3.9"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-2.3.9"><meta data-rh="true" property="og:title" content="S3Redshift | Apache SeaTunnel"><meta data-rh="true" name="description" content="The way of S3Redshift is to write data into S3, and then use Redshift's COPY command to import data from S3 to Redshift."><meta data-rh="true" property="og:description" content="The way of S3Redshift is to write data into S3, and then use Redshift's COPY command to import data from S3 to Redshift."><link data-rh="true" rel="icon" href="/image/favicon.ico"><link data-rh="true" rel="canonical" href="https://seatunnel.apache.org/docs/2.3.9/connector-v2/sink/S3-Redshift"><link data-rh="true" rel="alternate" href="https://seatunnel.apache.org/docs/2.3.9/connector-v2/sink/S3-Redshift" hreflang="en"><link data-rh="true" rel="alternate" href="https://seatunnel.apache.org/zh-CN/docs/2.3.9/connector-v2/sink/S3-Redshift" hreflang="zh-CN"><link data-rh="true" rel="alternate" href="https://seatunnel.apache.org/docs/2.3.9/connector-v2/sink/S3-Redshift" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://S2J1A7LWND-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache SeaTunnel RSS Feed"> <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache SeaTunnel Atom Feed"> <link rel="search" type="application/opensearchdescription+xml" title="Apache SeaTunnel" href="/opensearch.xml"> <link rel="alternate" type="application/rss+xml" href="/user_cases/rss.xml" title="Apache SeaTunnel RSS Feed"> <link rel="alternate" type="application/atom+xml" href="/user_cases/atom.xml" title="Apache SeaTunnel Atom Feed"> <script>var _paq=window._paq=window._paq||[];_paq.push(["setDoNotTrack",!0]),_paq.push(["disableCookies"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),function(){var a="https://analytics.apache.org/";_paq.push(["setTrackerUrl",a+"matomo.php"]),_paq.push(["setSiteId","65"]);var e=document,p=e.createElement("script"),t=e.getElementsByTagName("script")[0];p.async=!0,p.src=a+"matomo.js",t.parentNode.insertBefore(p,t)}()</script><link rel="stylesheet" href="/assets/css/styles.196a51e3.css"> <link rel="preload" href="/assets/js/runtime~main.402ef285.js" as="script"> <link rel="preload" href="/assets/js/main.50d9f0ea.js" as="script"> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,t("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 role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:rgb(70, 125, 175, 0.8)" role="banner"><div class="content_knG7 announcementBarContent_xLdY"><a href="https://github.com/apache/seatunnel" target="_blank" style="display: flex; width: 100%; align-items: center; justify-content: center; margin-left: 4px; text-decoration: none;">⭐️ If you like Apache SeaTunnel, give it a star on GitHub <img style="width: 1.2rem; height: 1.2rem; margin-left: 0.4rem;" src="/home/icons/github1.svg"> ⭐️ </a></div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><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="/"><div class="navbar__logo"><img src="/image/logo.png" alt="Apache SeaTunnel Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/image/logo.png" alt="Apache SeaTunnel Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Apache SeaTunnel</b></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/">Home</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Document</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/2.3.9/about">2.3.9</a></li><li><a class="dropdown__link" href="/docs/2.3.8/about">2.3.8</a></li><li><a class="dropdown__link" href="/docs/2.3.7/about">2.3.7</a></li><li><a class="dropdown__link" href="/docs/2.3.6/about">2.3.6</a></li><li><a class="dropdown__link" href="/docs/2.3.5/about">2.3.5</a></li><li><a class="dropdown__link" href="/docs/about">Next</a></li><li><a class="dropdown__link" href="/versions/">All versions</a></li></ul></div><a class="navbar__item navbar__link" href="/download">Download</a><a class="navbar__item navbar__link" href="/community/contribution_guide/contribute">Community</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/user_cases">UserCases</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/user">Users</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">ASF</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Foundation</a></li><li><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="dropdown__link">License</a></li><li><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="dropdown__link">Events</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks</a></li><li><a href="https://apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Privacy</a></li></ul></div><a href="https://github.com/apache/incubator-seatunnel" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a><a class="navbar__item navbar__link" href="/security">Security</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</a><ul class="dropdown__menu"><li><a href="/docs/2.3.9/connector-v2/sink/S3-Redshift" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en">English</a></li><li><a href="/zh-CN/docs/2.3.9/connector-v2/sink/S3-Redshift" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh-CN">简体中文</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><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="/docs/2.3.9/about">About SeaTunnel</a></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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/start-v2/locally/deployment">Quick Start - V2</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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/concept/config">Concepts</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--sublist-caret menu__link--active" aria-expanded="true" href="/docs/2.3.9/connector-v2/source">Connector-V2</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><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" aria-expanded="false" tabindex="0" href="/docs/2.3.9/connector-v2/source">Source</a><button aria-label="Toggle the collapsible sidebar category 'Source'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" tabindex="0" href="/docs/2.3.9/connector-v2/sink">Sink</a><button aria-label="Toggle the collapsible sidebar category 'Sink'" type="button" class="clean-btn menu__caret"></button></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-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Activemq">Activemq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/AmazonDynamoDB">AmazonDynamoDB</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/AmazonSqs">AmazonSqs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Assert">Assert</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Cassandra">Cassandra</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Clickhouse">Clickhouse</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/ClickhouseFile">ClickhouseFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Console">Console</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/CosFile">CosFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/DB2">DB2</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Datahub">DataHub</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/DingTalk">DingTalk</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Doris">Doris</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Druid">Druid</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Easysearch">INFINI Easysearch</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Elasticsearch">Elasticsearch</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Email">Email</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Enterprise-WeChat">Enterprise WeChat</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Feishu">Feishu</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/FtpFile">FtpFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/GoogleFirestore">GoogleFirestore</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Greenplum">Greenplum</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Hbase">Hbase</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/HdfsFile">HdfsFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Hive">Hive</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Http">Http</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Hudi">Hudi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Iceberg">Apache Iceberg</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/InfluxDB">InfluxDB</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/IoTDB">IoTDB</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Jdbc">JDBC</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Kafka">Kafka</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Kingbase">Kingbase</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Kudu">Kudu</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/LocalFile">LocalFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Maxcompute">Maxcompute</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Milvus">Milvus</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/MongoDB">MongoDB</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Mysql">MySQL</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Neo4j">Neo4j</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/ObsFile">ObsFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/OceanBase">OceanBase</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Oracle">Oracle</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/OssFile">OssFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/OssJindoFile">OssJindoFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Paimon">Paimon</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Phoenix">Phoenix</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/PostgreSql">PostgreSql</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Prometheus">Prometheus</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Pulsar">Pulsar</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Qdrant">Qdrant</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Rabbitmq">Rabbitmq</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Redis">Redis</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Redshift">Redshift</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/RocketMQ">RocketMQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/2.3.9/connector-v2/sink/S3-Redshift">S3Redshift</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/S3File">S3File</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/SelectDB-Cloud">SelectDB Cloud</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Sentry">Sentry</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/SftpFile">SftpFile</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Slack">Slack</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Sls">Sls</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Snowflake">Snowflake</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Socket">Socket</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/SqlServer">SQL Server</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/StarRocks">StarRocks</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/TDengine">TDengine</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Tablestore">Tablestore</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Typesense">Typesense</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.3.9/connector-v2/sink/Vertica">Vertica</a></li></ul></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" aria-expanded="false" tabindex="0" href="/docs/2.3.9/connector-v2/formats">Formats</a><button aria-label="Toggle the collapsible sidebar category 'Formats'" type="button" class="clean-btn menu__caret"></button></div></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="/docs/2.3.9/connector-v2/source-common-options">Source Common Options</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="/docs/2.3.9/connector-v2/sink-common-options">Sink Common Options</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="/docs/2.3.9/connector-v2/Error-Quick-Reference-Manual">Error Quick Reference Manual</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="/docs/2.3.9/connector-v2/Config-Encryption-Decryption">Config File Encryption And Decryption</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" aria-expanded="false" href="/docs/2.3.9/transform-v2">Transform-V2</a><button aria-label="Toggle the collapsible sidebar category 'Transform-V2'" type="button" class="clean-btn menu__caret"></button></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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/command/usage">Command</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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/seatunnel-engine/about">SeaTunnel Engine</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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/other-engine/flink">Other Engine</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 menu__link--sublist-caret" aria-expanded="false" href="/docs/2.3.9/contribution/setup">Contribution</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="/docs/2.3.9/faq">FAQ</a></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Connector-V2</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/docs/2.3.9/connector-v2/sink"><span itemprop="name">Sink</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">S3Redshift</span><meta itemprop="position" content="3"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 2.3.9</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>S3Redshift</h1><blockquote><p>The way of S3Redshift is to write data into S3, and then use Redshift's COPY command to import data from S3 to Redshift.</p></blockquote><h2 class="anchor anchorWithStickyNavbar_LWe7" id="description">Description<a href="#description" class="hash-link" aria-label="Direct link to Description" title="Direct link to Description"></a></h2><p>Output data to AWS Redshift.</p><blockquote><p>Tips: We based on the <a href="/docs/2.3.9/connector-v2/sink/S3File">S3File</a> to implement this connector. So you can use the same configuration as S3File. We made some trade-offs in order to support more file types, so we used the HDFS protocol for internal access to S3 and this connector need some hadoop dependencies. It's only support hadoop version <strong>2.6.5+</strong>.</p></blockquote><h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-features">Key features<a href="#key-features" class="hash-link" aria-label="Direct link to Key features" title="Direct link to Key features"></a></h2><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <a href="/docs/2.3.9/concept/connector-v2-features">exactly-once</a></li></ul><p>By default, we use 2PC commit to ensure <code>exactly-once</code></p><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->file format type<ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->text</li><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->csv</li><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->parquet</li><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->orc</li><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->json</li></ul></li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="options">Options<a href="#options" class="hash-link" aria-label="Direct link to Options" title="Direct link to Options"></a></h2><table><thead><tr><th>name</th><th>type</th><th>required</th><th>default value</th></tr></thead><tbody><tr><td>jdbc_url</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>jdbc_user</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>jdbc_password</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>execute_sql</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>path</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>bucket</td><td>string</td><td>yes</td><td>-</td></tr><tr><td>access_key</td><td>string</td><td>no</td><td>-</td></tr><tr><td>access_secret</td><td>string</td><td>no</td><td>-</td></tr><tr><td>hadoop_s3_properties</td><td>map</td><td>no</td><td>-</td></tr><tr><td>file_name_expression</td><td>string</td><td>no</td><td>"${transactionId}"</td></tr><tr><td>file_format_type</td><td>string</td><td>no</td><td>"text"</td></tr><tr><td>filename_time_format</td><td>string</td><td>no</td><td>"yyyy.MM.dd"</td></tr><tr><td>field_delimiter</td><td>string</td><td>no</td><td>'\001'</td></tr><tr><td>row_delimiter</td><td>string</td><td>no</td><td>"\n"</td></tr><tr><td>partition_by</td><td>array</td><td>no</td><td>-</td></tr><tr><td>partition_dir_expression</td><td>string</td><td>no</td><td>"${k0}=${v0}/${k1}=${v1}/.../${kn}=${vn}/"</td></tr><tr><td>is_partition_field_write_in_file</td><td>boolean</td><td>no</td><td>false</td></tr><tr><td>sink_columns</td><td>array</td><td>no</td><td>When this parameter is empty, all fields are sink columns</td></tr><tr><td>is_enable_transaction</td><td>boolean</td><td>no</td><td>true</td></tr><tr><td>batch_size</td><td>int</td><td>no</td><td>1000000</td></tr><tr><td>common-options</td><td></td><td>no</td><td>-</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="jdbc_url">jdbc_url<a href="#jdbc_url" class="hash-link" aria-label="Direct link to jdbc_url" title="Direct link to jdbc_url"></a></h3><p>The JDBC URL to connect to the Redshift database.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="jdbc_user">jdbc_user<a href="#jdbc_user" class="hash-link" aria-label="Direct link to jdbc_user" title="Direct link to jdbc_user"></a></h3><p>The JDBC user to connect to the Redshift database.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="jdbc_password">jdbc_password<a href="#jdbc_password" class="hash-link" aria-label="Direct link to jdbc_password" title="Direct link to jdbc_password"></a></h3><p>The JDBC password to connect to the Redshift database.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="execute_sql">execute_sql<a href="#execute_sql" class="hash-link" aria-label="Direct link to execute_sql" title="Direct link to execute_sql"></a></h3><p>The SQL to execute after the data is written to S3.</p><p>eg:</p><div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">COPY target_table </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'s3://yourbucket${path}'</span><span class="token plain"> IAM_ROLE </span><span class="token string" style="color:rgb(255, 121, 198)">'arn:XXX'</span><span class="token plain"> REGION </span><span class="token string" style="color:rgb(255, 121, 198)">'your region'</span><span class="token plain"> format </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> json </span><span class="token string" style="color:rgb(255, 121, 198)">'auto'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><code>target_table</code> is the table name in Redshift.</p><p><code>${path}</code> is the path of the file written to S3. please confirm your sql include this variable. and don't need replace it. we will replace it when execute sql.</p><p>IAM_ROLE is the role that has permission to access S3.</p><p>format is the format of the file written to S3. please confirm this format is same as the file format you set in the configuration.</p><p>please refer to <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html" target="_blank" rel="noopener noreferrer">Redshift COPY</a> for more details.</p><p>please confirm that the role has permission to access S3.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="path-string">path <!-- -->[string]<a href="#path-string" class="hash-link" aria-label="Direct link to path-string" title="Direct link to path-string"></a></h3><p>The target dir path is required.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="bucket-string">bucket <!-- -->[string]<a href="#bucket-string" class="hash-link" aria-label="Direct link to bucket-string" title="Direct link to bucket-string"></a></h3><p>The bucket address of s3 file system, for example: <code>s3n://seatunnel-test</code>, if you use <code>s3a</code> protocol, this parameter should be <code>s3a://seatunnel-test</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="access_key-string">access_key <!-- -->[string]<a href="#access_key-string" class="hash-link" aria-label="Direct link to access_key-string" title="Direct link to access_key-string"></a></h3><p>The access key of s3 file system. If this parameter is not set, please confirm that the credential provider chain can be authenticated correctly, you could check this <a href="https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html" target="_blank" rel="noopener noreferrer">hadoop-aws</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="access_secret-string">access_secret <!-- -->[string]<a href="#access_secret-string" class="hash-link" aria-label="Direct link to access_secret-string" title="Direct link to access_secret-string"></a></h3><p>The access secret of s3 file system. If this parameter is not set, please confirm that the credential provider chain can be authenticated correctly, you could check this <a href="https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html" target="_blank" rel="noopener noreferrer">hadoop-aws</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="hadoop_s3_properties-map">hadoop_s3_properties <!-- -->[map]<a href="#hadoop_s3_properties-map" class="hash-link" aria-label="Direct link to hadoop_s3_properties-map" title="Direct link to hadoop_s3_properties-map"></a></h3><p>If you need to add a other option, you could add it here and refer to this <a href="https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html" target="_blank" rel="noopener noreferrer">Hadoop-AWS</a></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">hadoop_s3_properties {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "fs.s3a.aws.credentials.provider" = "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="file_name_expression-string">file_name_expression <!-- -->[string]<a href="#file_name_expression-string" class="hash-link" aria-label="Direct link to file_name_expression-string" title="Direct link to file_name_expression-string"></a></h3><p><code>file_name_expression</code> describes the file expression which will be created into the <code>path</code>. We can add the variable <code>${now}</code> or <code>${uuid}</code> in the <code>file_name_expression</code>, like <code>test_${uuid}_${now}</code>, <code>${now}</code> represents the current time, and its format can be defined by specifying the option <code>filename_time_format</code>.</p><p>Please note that, If <code>is_enable_transaction</code> is <code>true</code>, we will auto add <code>${transactionId}_</code> in the head of the file.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="file_format_type-string">file_format_type <!-- -->[string]<a href="#file_format_type-string" class="hash-link" aria-label="Direct link to file_format_type-string" title="Direct link to file_format_type-string"></a></h3><p>We supported as the following file types:</p><p><code>text</code> <code>csv</code> <code>parquet</code> <code>orc</code> <code>json</code></p><p>Please note that, The final file name will end with the file_format_type's suffix, the suffix of the text file is <code>txt</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="filename_time_format-string">filename_time_format <!-- -->[string]<a href="#filename_time_format-string" class="hash-link" aria-label="Direct link to filename_time_format-string" title="Direct link to filename_time_format-string"></a></h3><p>When the format in the <code>file_name_expression</code> parameter is <code>xxxx-${now}</code> , <code>filename_time_format</code> can specify the time format of the path, and the default value is <code>yyyy.MM.dd</code> . The commonly used time formats are listed as follows:</p><table><thead><tr><th>Symbol</th><th>Description</th></tr></thead><tbody><tr><td>y</td><td>Year</td></tr><tr><td>M</td><td>Month</td></tr><tr><td>d</td><td>Day of month</td></tr><tr><td>H</td><td>Hour in day (0-23)</td></tr><tr><td>m</td><td>Minute in hour</td></tr><tr><td>s</td><td>Second in minute</td></tr></tbody></table><p>See <a href="https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html" target="_blank" rel="noopener noreferrer">Java SimpleDateFormat</a> for detailed time format syntax.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="field_delimiter-string">field_delimiter <!-- -->[string]<a href="#field_delimiter-string" class="hash-link" aria-label="Direct link to field_delimiter-string" title="Direct link to field_delimiter-string"></a></h3><p>The separator between columns in a row of data. Only needed by <code>text</code> and <code>csv</code> file format.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="row_delimiter-string">row_delimiter <!-- -->[string]<a href="#row_delimiter-string" class="hash-link" aria-label="Direct link to row_delimiter-string" title="Direct link to row_delimiter-string"></a></h3><p>The separator between rows in a file. Only needed by <code>text</code> and <code>csv</code> file format.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="partition_by-array">partition_by <!-- -->[array]<a href="#partition_by-array" class="hash-link" aria-label="Direct link to partition_by-array" title="Direct link to partition_by-array"></a></h3><p>Partition data based on selected fields</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="partition_dir_expression-string">partition_dir_expression <!-- -->[string]<a href="#partition_dir_expression-string" class="hash-link" aria-label="Direct link to partition_dir_expression-string" title="Direct link to partition_dir_expression-string"></a></h3><p>If the <code>partition_by</code> is specified, we will generate the corresponding partition directory based on the partition information, and the final file will be placed in the partition directory.</p><p>Default <code>partition_dir_expression</code> is <code>${k0}=${v0}/${k1}=${v1}/.../${kn}=${vn}/</code>. <code>k0</code> is the first partition field and <code>v0</code> is the value of the first partition field.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="is_partition_field_write_in_file-boolean">is_partition_field_write_in_file <!-- -->[boolean]<a href="#is_partition_field_write_in_file-boolean" class="hash-link" aria-label="Direct link to is_partition_field_write_in_file-boolean" title="Direct link to is_partition_field_write_in_file-boolean"></a></h3><p>If <code>is_partition_field_write_in_file</code> is <code>true</code>, the partition field and the value of it will be written into data file.</p><p>For example, if you want to write a Hive Data File, Its value should be <code>false</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="sink_columns-array">sink_columns <!-- -->[array]<a href="#sink_columns-array" class="hash-link" aria-label="Direct link to sink_columns-array" title="Direct link to sink_columns-array"></a></h3><p>Which columns need be written to file, default value is all the columns get from <code>Transform</code> or <code>Source</code>. The order of the fields determines the order in which the file is actually written.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="is_enable_transaction-boolean">is_enable_transaction <!-- -->[boolean]<a href="#is_enable_transaction-boolean" class="hash-link" aria-label="Direct link to is_enable_transaction-boolean" title="Direct link to is_enable_transaction-boolean"></a></h3><p>If <code>is_enable_transaction</code> is true, we will ensure that data will not be lost or duplicated when it is written to the target directory.</p><p>Please note that, If <code>is_enable_transaction</code> is <code>true</code>, we will auto add <code>${transactionId}_</code> in the head of the file.</p><p>Only support <code>true</code> now.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="batch_size-int">batch_size <!-- -->[int]<a href="#batch_size-int" class="hash-link" aria-label="Direct link to batch_size-int" title="Direct link to batch_size-int"></a></h3><p>The maximum number of rows in a file. For SeaTunnel Engine, the number of lines in the file is determined by <code>batch_size</code> and <code>checkpoint.interval</code> jointly decide. If the value of <code>checkpoint.interval</code> is large enough, sink writer will write rows in a file until the rows in the file larger than <code>batch_size</code>. If <code>checkpoint.interval</code> is small, the sink writer will create a new file when a new checkpoint trigger.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="common-options">common options<a href="#common-options" class="hash-link" aria-label="Direct link to common options" title="Direct link to common options"></a></h3><p>Sink plugin common parameters, please refer to <a href="/docs/2.3.9/connector-v2/sink-common-options">Sink Common Options</a> for details.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><p>For text file format</p><div class="language-hocon codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-hocon codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> S3Redshift {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_url = "jdbc:redshift://xxx.amazonaws.com.cn:5439/xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_user = "xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_password = "xxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> execute_sql="COPY table_name FROM 's3://test${path}' IAM_ROLE 'arn:aws-cn:iam::xxx' REGION 'cn-north-1' removequotes emptyasnull blanksasnull maxerror 100 delimiter '|' ;"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> access_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> secret_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> bucket = "s3a://seatunnel-test"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> tmp_path = "/tmp/seatunnel"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> path="/seatunnel/text"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> row_delimiter="\n"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> partition_dir_expression="${k0}=${v0}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_partition_field_write_in_file=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_name_expression="${transactionId}_${now}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_format_type = "text"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> filename_time_format="yyyy.MM.dd"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_enable_transaction=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> hadoop_s3_properties {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "fs.s3a.aws.credentials.provider" = "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>For parquet file format</p><div class="language-hocon codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-hocon codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> S3Redshift {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_url = "jdbc:redshift://xxx.amazonaws.com.cn:5439/xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_user = "xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_password = "xxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> execute_sql="COPY table_name FROM 's3://test${path}' IAM_ROLE 'arn:aws-cn:iam::xxx' REGION 'cn-north-1' format as PARQUET;"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> access_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> secret_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> bucket = "s3a://seatunnel-test"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> tmp_path = "/tmp/seatunnel"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> path="/seatunnel/parquet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> row_delimiter="\n"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> partition_dir_expression="${k0}=${v0}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_partition_field_write_in_file=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_name_expression="${transactionId}_${now}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_format_type = "parquet"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> filename_time_format="yyyy.MM.dd"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_enable_transaction=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> hadoop_s3_properties {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "fs.s3a.aws.credentials.provider" = "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>For orc file format</p><div class="language-hocon codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-hocon codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> S3Redshift {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_url = "jdbc:redshift://xxx.amazonaws.com.cn:5439/xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_user = "xxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> jdbc_password = "xxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> execute_sql="COPY table_name FROM 's3://test${path}' IAM_ROLE 'arn:aws-cn:iam::xxx' REGION 'cn-north-1' format as ORC;"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> access_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> secret_key = "xxxxxxxxxxxxxxxxx"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> bucket = "s3a://seatunnel-test"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> tmp_path = "/tmp/seatunnel"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> path="/seatunnel/orc"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> row_delimiter="\n"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> partition_dir_expression="${k0}=${v0}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_partition_field_write_in_file=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_name_expression="${transactionId}_${now}"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file_format_type = "orc"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> filename_time_format="yyyy.MM.dd"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> is_enable_transaction=true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> hadoop_s3_properties {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> "fs.s3a.aws.credentials.provider" = "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="changelog">Changelog<a href="#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="230-beta-2022-10-20">2.3.0-beta 2022-10-20<a href="#230-beta-2022-10-20" class="hash-link" aria-label="Direct link to 2.3.0-beta 2022-10-20" title="Direct link to 2.3.0-beta 2022-10-20"></a></h3></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/seatunnel-website/edit/main/versioned_docs/version-2.3.9/connector-v2/sink/S3-Redshift.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_Z9Sw" 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_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/2.3.9/connector-v2/sink/RocketMQ"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">RocketMQ</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/2.3.9/connector-v2/sink/S3File"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">S3File</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#description" class="table-of-contents__link toc-highlight">Description</a></li><li><a href="#key-features" class="table-of-contents__link toc-highlight">Key features</a></li><li><a href="#options" class="table-of-contents__link toc-highlight">Options</a><ul><li><a href="#jdbc_url" class="table-of-contents__link toc-highlight">jdbc_url</a></li><li><a href="#jdbc_user" class="table-of-contents__link toc-highlight">jdbc_user</a></li><li><a href="#jdbc_password" class="table-of-contents__link toc-highlight">jdbc_password</a></li><li><a href="#execute_sql" class="table-of-contents__link toc-highlight">execute_sql</a></li><li><a href="#path-string" class="table-of-contents__link toc-highlight">path string</a></li><li><a href="#bucket-string" class="table-of-contents__link toc-highlight">bucket string</a></li><li><a href="#access_key-string" class="table-of-contents__link toc-highlight">access_key string</a></li><li><a href="#access_secret-string" class="table-of-contents__link toc-highlight">access_secret string</a></li><li><a href="#hadoop_s3_properties-map" class="table-of-contents__link toc-highlight">hadoop_s3_properties map</a></li><li><a href="#file_name_expression-string" class="table-of-contents__link toc-highlight">file_name_expression string</a></li><li><a href="#file_format_type-string" class="table-of-contents__link toc-highlight">file_format_type string</a></li><li><a href="#filename_time_format-string" class="table-of-contents__link toc-highlight">filename_time_format string</a></li><li><a href="#field_delimiter-string" class="table-of-contents__link toc-highlight">field_delimiter string</a></li><li><a href="#row_delimiter-string" class="table-of-contents__link toc-highlight">row_delimiter string</a></li><li><a href="#partition_by-array" class="table-of-contents__link toc-highlight">partition_by array</a></li><li><a href="#partition_dir_expression-string" class="table-of-contents__link toc-highlight">partition_dir_expression string</a></li><li><a href="#is_partition_field_write_in_file-boolean" class="table-of-contents__link toc-highlight">is_partition_field_write_in_file boolean</a></li><li><a href="#sink_columns-array" class="table-of-contents__link toc-highlight">sink_columns array</a></li><li><a href="#is_enable_transaction-boolean" class="table-of-contents__link toc-highlight">is_enable_transaction boolean</a></li><li><a href="#batch_size-int" class="table-of-contents__link toc-highlight">batch_size int</a></li><li><a href="#common-options" class="table-of-contents__link toc-highlight">common options</a></li></ul></li><li><a href="#example" class="table-of-contents__link toc-highlight">Example</a></li><li><a href="#changelog" class="table-of-contents__link toc-highlight">Changelog</a><ul><li><a href="#230-beta-2022-10-20" class="table-of-contents__link toc-highlight">2.3.0-beta 2022-10-20</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">SeaTunnel</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/faq">FAQ</a></li><li class="footer__item"><a href="https://github.com/apache/incubator-seatunnel/releases" target="_blank" rel="noopener noreferrer" class="footer__link-item">Releases<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/apache/incubator-seatunnel" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li><li class="footer__item"><a href="https://github.com/apache/incubator-seatunnel/issues" target="_blank" rel="noopener noreferrer" class="footer__link-item">Issue Tracker<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li><li class="footer__item"><a href="https://github.com/apache/incubator-seatunnel/pulls" target="_blank" rel="noopener noreferrer" class="footer__link-item">Pull Requests<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li></ul></div><div class="col footer__col"><div class="footer__title">Subscribe Mailing List</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/community/contribution_guide/subscribe">How to Subscribe</a></li><li class="footer__item"><a href="mailto:dev-subscribe@seatunnel.apache.org" target="_blank" rel="noopener noreferrer" class="footer__link-item">Subscribe Mail<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li><li class="footer__item"><a href="https://lists.apache.org/list.html?dev@seatunnel.apache.org" target="_blank" rel="noopener noreferrer" class="footer__link-item">Mail Archive<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright"> <div style="margin-top: 20px;"> <img style="height:50px;margin: 30px 0 10px;" alt="Apache Software Foundation" src="/image/asf_logo_wide.svg"> <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2021-2025 The Apache Software Foundation. Apache SeaTunnel, SeaTunnel, and its feather logo are trademarks of The Apache Software Foundation.</span></div> <div style="text-align: center;"> <a href="https://twitter.com/asfseatunnel?s=21" target="_blank" title="Twitter"><svg t="1644553365083" class="icon" viewBox="0 0 1260 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7015" width="38" height="38"><path d="M1259.846921 121.148242c-46.524504 20.728739-96.273478 34.547899-148.325646 40.536201 53.434084-31.784067 94.430924-82.454319 113.777747-142.797982-50.209613 29.480874-105.486251 51.13089-164.447999 62.646857A257.584528 257.584528 0 0 0 872.449815 0.000276c-142.797982 0-258.418284 115.620302-258.418284 258.418284 0 20.268101 2.303193 40.075563 6.909579 58.961748C405.82286 306.32498 215.579097 203.602561 87.98219 47.446058c-22.110655 38.233008-35.008538 82.454319-35.008538 129.900099 0 89.824537 45.603227 168.593747 115.159663 215.118251-42.378756-1.381916-81.99368-12.897882-117.002217-32.244706v3.224471c0 125.293713 88.90326 229.398049 207.287393 253.351259-21.650017 5.988302-44.681949 9.212773-68.17452 9.212773-16.582991 0-32.705344-1.842555-48.827697-4.606387 32.705344 102.722419 128.518184 177.345881 241.374653 179.649074-88.442621 69.095798-199.917175 110.553277-321.06514 110.553277-20.728739 0-41.457479-1.381916-61.72558-3.685109 114.238386 73.241546 250.126788 116.08094 396.149241 116.08094 475.379089 0 735.179289-393.846048 735.179289-735.179289 0-11.055328-0.460639-22.571294-0.921277-33.626621 51.13089-36.851092 94.891562-82.454319 129.439461-134.045848z" fill="#909094" p-id="7016"></path></svg></a> <a href="https://s.apache.org/seatunnel-slack" target="_blank" title="Slack" style="margin-left: 20px;"><svg t="1644553076784" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3088" width="36" height="36"><path d="M215.125333 647.04a107.861333 107.861333 0 0 1-107.52 107.648A107.861333 107.861333 0 0 1 0 647.04a107.818667 107.818667 0 0 1 107.605333-107.52h107.52v107.52z m54.229334 0a107.818667 107.818667 0 0 1 107.562666-107.52 107.818667 107.818667 0 0 1 107.562667 107.52v269.354667A107.861333 107.861333 0 0 1 376.917333 1024a107.861333 107.861333 0 0 1-107.562666-107.605333v-269.354667zM376.917333 215.125333a107.861333 107.861333 0 0 1-107.562666-107.52A107.861333 107.861333 0 0 1 376.917333 0a107.861333 107.861333 0 0 1 107.562667 107.605333v107.52H376.917333z m0 54.229334a107.861333 107.861333 0 0 1 107.562667 107.562666 107.861333 107.861333 0 0 1-107.562667 107.562667H107.605333A107.861333 107.861333 0 0 1 0 376.917333a107.861333 107.861333 0 0 1 107.605333-107.562666h269.312z m431.872 107.562666a107.861333 107.861333 0 0 1 107.605334-107.562666A107.861333 107.861333 0 0 1 1024 376.917333a107.861333 107.861333 0 0 1-107.605333 107.562667h-107.605334V376.917333z m-54.101333 0a107.861333 107.861333 0 0 1-107.648 107.562667 107.818667 107.818667 0 0 1-107.52-107.562667V107.605333A107.818667 107.818667 0 0 1 647.04 0a107.861333 107.861333 0 0 1 107.648 107.605333v269.312z m-107.648 431.872a107.861333 107.861333 0 0 1 107.648 107.605334A107.861333 107.861333 0 0 1 647.04 1024a107.818667 107.818667 0 0 1-107.52-107.605333v-107.605334h107.52z m0-54.101333a107.818667 107.818667 0 0 1-107.52-107.648 107.776 107.776 0 0 1 107.52-107.52h269.354667A107.818667 107.818667 0 0 1 1024 647.04a107.861333 107.861333 0 0 1-107.605333 107.648h-269.354667z" p-id="3089" fill="#909094"></path></svg></a> <a href="https://lists.apache.org/list.html?dev@seatunnel.apache.org" target="_blank" title="Mailing list" style="margin-left: 20px;"><svg t="1644553175467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5304" width="39" height="39"><path d="M853.333333 170.666667H170.666667c-46.933333 0-85.333333 38.4-85.333334 85.333333v512c0 46.933333 38.4 85.333333 85.333334 85.333333h682.666666c46.933333 0 85.333333-38.4 85.333334-85.333333V256c0-46.933333-38.4-85.333333-85.333334-85.333333z m0 170.666666l-341.333333 213.333334-341.333333-213.333334V256l341.333333 213.333333 341.333333-213.333333v85.333333z" p-id="5305" fill="#909094"></path></svg></a> <a href="https://github.com/apache/seatunnel" target="_blank" title="GitHub" style="margin-left: 20px;"><svg t="1644553223000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6156" width="36" height="36"><path d="M512 12.64c-282.752 0-512 229.216-512 512 0 226.208 146.72 418.144 350.144 485.824 25.6 4.736 35.008-11.104 35.008-24.64 0-12.192-0.48-52.544-0.704-95.328-142.464 30.976-172.512-60.416-172.512-60.416-23.296-59.168-56.832-74.912-56.832-74.912-46.464-31.776 3.52-31.136 3.52-31.136 51.392 3.616 78.464 52.768 78.464 52.768 45.664 78.272 119.776 55.648 148.992 42.56 4.576-33.088 17.856-55.68 32.512-68.48-113.728-12.928-233.28-56.864-233.28-253.024 0-55.904 20-101.568 52.768-137.44-5.312-12.896-22.848-64.96 4.96-135.488 0 0 43.008-13.76 140.832 52.48a491.296 491.296 0 0 1 128.16-17.248c43.488 0.192 87.328 5.888 128.256 17.248 97.728-66.24 140.64-52.48 140.64-52.48 27.872 70.528 10.336 122.592 5.024 135.488 32.832 35.84 52.704 81.536 52.704 137.44 0 196.64-119.776 239.936-233.792 252.64 18.368 15.904 34.72 47.04 34.72 94.816 0 68.512-0.608 123.648-0.608 140.512 0 13.632 9.216 29.6 35.168 24.576C877.472 942.624 1024 750.784 1024 524.64c0-282.784-229.248-512-512-512z" p-id="6157" fill="#909094"></path></svg></a> </div> <div></div></div></div></div></div></footer></div> <script src="/assets/js/runtime~main.402ef285.js"></script> <script src="/assets/js/main.50d9f0ea.js"></script> </body> </html>