This guide describes how to sink data from RisingWave to WebHDFS.
As a workaround for HDFS, WebHDFS allows external clients to execute Hadoop file system operations without necessarily running on the Hadoop cluster itself. Therefore, it reduces the dependency on the Hadoop environment when using HDFS.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"RisingWave","colors":{"primary":"#005eec","light":"#005eec","dark":"#005eec"},"logo":{"light":"https://mintcdn.com/risingwavelabs/MBiw07hESa08PLsp/logo/light.svg?fit=max\u0026auto=format\u0026n=MBiw07hESa08PLsp\u0026q=85\u0026s=ec9c31744f8c3ddaa5c37f6f7fd0385b","dark":"https://mintcdn.com/risingwavelabs/MBiw07hESa08PLsp/logo/dark.svg?fit=max\u0026auto=format\u0026n=MBiw07hESa08PLsp\u0026q=85\u0026s=5faa0cc3c55a9407df9bb353ee579e89","href":"https://risingwave.com/"},"favicon":"https://mintcdn.com/risingwavelabs/eqqtg34aUutkXCuz/favicon.png?fit=max\u0026auto=format\u0026n=eqqtg34aUutkXCuz\u0026q=85\u0026s=32d724d78a6ff3342f31bed536427c8f","background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://risingwave.com/resources/?filter=blogs","label":"Blog"}],"primary":{"type":"button","label":"Sign up free","href":"https://cta-service-cms2.hubspot.com/web-interactives/public/v1/track/redirect?encryptedPayload=AVxigLIVNzabNcOPWI6bnbgE5v5wBhWy6pk6dNZ0jpoHYTJVXYdKJ2sN2%2Bz81tvbqU9obUFnA6qJBV3VfxEI3LOXQz%2FR1xANlR5nhw9CzFWt250u2%2B%2FfsHip8lVRCRiV%2FX0l10HpM%2BZWdr%2FmPAe%2BTHYRotiKZ1nJ494JNXcirwOZXbhlh5RTBgXXdxwxHyst\u0026webInteractiveContentId=183953770777\u0026portalId=24308934"}},"footer":{"socials":{"github":"https://github.com/risingwavelabs/risingwave","x":"https://go.risingwave.com/twitter","linkedin":"https://go.risingwave.com/linkedin","slack":"https://go.risingwave.com/slack","youtube":"https://go.risingwave.com/youtube"}},"fonts":{"heading":{"family":"Inter","format":"woff2"},"body":{"family":"Inter","format":"woff2"}},"integrations":{"ga4":{"measurementId":"G-VG98SVDEYE"},"gtm":{"tagId":"GTM-WT9WLCBX"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Join Slack community","icon":"slack","href":"https://go.risingwave.com/slack"},{"anchor":"GitHub","icon":"github","href":"https://github.com/risingwavelabs/risingwave"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"risingwavelabs","hasAudioNarration":false,"actualSubdomain":"risingwavelabs","customDomains":["docs.risingwave.com"],"gitSource":{"type":"github","owner":"risingwavelabs","repo":"risingwave-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2f80654f097af7a2829f3","collectionId":"29a86107-b8a8-45db-88dd-3fdfd9fd5a8a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2f80654f097af7a2829f3"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae2f80bcd14242e00951ba7","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Guides","count":274},{"language":"default","tag":"SQL/Python/UDFs","count":156},{"language":"default","tag":"SQL reference","count":148},{"language":"default","tag":"Work with data","count":117},{"language":"default","tag":"Commands","count":99},{"language":"default","tag":"Cloud","count":62},{"language":"default","tag":"Ingest data","count":52},{"language":"default","tag":"Apache Iceberg™","count":37},{"language":"default","tag":"Deliver data","count":35},{"language":"default","tag":"Install \u0026 Operate","count":32}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@font-face{font-family:'Monument Grotesk';src:url(https://fonts.gstatic.com/s/inter/v18/UcCo3FwrK3iLTcviYwYZ8UA3.woff2);font-weight:400;font-style:normal;font-display:swap}h1,h2,h3{font-family:'monument grotesk';letter-spacing:normal!important}"}],"page":{"pagePath":"integrations/destinations/webhdfs","slug":"/integrations/destinations/webhdfs","pageMetadata":{"title":"Sink data from RisingWave to WebHDFS","sidebarTitle":"WebHDFS","description":"This guide describes how to sink data from RisingWave to WebHDFS.","href":"/integrations/destinations/webhdfs"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"This guide describes how to sink data from RisingWave to WebHDFS.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`As a workaround for HDFS, WebHDFS allows external clients to execute Hadoop file system operations without necessarily running on the Hadoop cluster itself. Therefore, it reduces the dependency on the Hadoop environment when using HDFS.`}),`\n`,_jsx(Heading,{level:`2`,id:`syntax`,children:`Syntax`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SINK [ IF NOT EXISTS ] sink_name`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[FROM sink_from | AS select_query]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WITH`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` connector`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'webhdfs'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` connector_parameter `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'value'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, ...`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`parameters`,children:`Parameters`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter names`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`connector`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. Support the WebHDFS connector only.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`webhdfs.endpoint`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. The endpoint for the WebHDFS service.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`webhdfs.path`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. The directory where the sink file is located.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`type`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. Defines the type of the sink. The WebHDFS sink only supports `,_jsx(_components.code,{children:`append-only`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SINK webhdfs_sink `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`AS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` v1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` t1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WITH`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` connector`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'webhdfs'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` webhdfs`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '\u003ctest_path>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` webhdfs`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '\u003ctest_endpoint>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'append-only'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)FORMAT PLAIN ENCODE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`PARQUET`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(force_append_only`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`true);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`advanced-topics`,children:`Advanced topics`}),`\n`,_jsxs(_components.p,{children:[`For more information about encode `,_jsx(_components.code,{children:`Parquet`}),` or `,_jsx(_components.code,{children:`JSON`}),`, see `,_jsx(_components.a,{href:`/delivery/overview#sink-data-in-parquet-or-json-format`,children:`Sink data in parquet or json format`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`For more information about batching strategy, see `,_jsx(_components.a,{href:`/delivery/overview#batching-strategy-for-file-sink`,children:`Batching strategy for file sink`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Sink data from RisingWave to WebHDFS","sidebarTitle":"WebHDFS","description":"This guide describes how to sink data from RisingWave to WebHDFS.","href":"/integrations/destinations/webhdfs"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Syntax","slug":"syntax","depth":2,"children":[]},{"title":"Parameters","slug":"parameters","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"Advanced topics","slug":"advanced-topics","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"risingwavelabs","siteName":"RisingWave","title":"Sink data from RisingWave to WebHDFS - RisingWave","navMaps":{"firstHrefInVersion":{"Current (v3.0)":{"href":"/integrations/destinations/webhdfs","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-01-22T08:22:17.045Z","originalFileLocation":"integrations/destinations/webhdfs.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"This guide describes how to sink data from RisingWave to WebHDFS.\">\u003cmeta data-mint-head name=\"application-name\" content=\"RisingWave\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Sink data from RisingWave to WebHDFS - RisingWave\">\u003cmeta data-mint-head property=\"og:description\" content=\"This guide describes how to sink data from RisingWave to WebHDFS.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"RisingWave\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.risingwave.com/integrations/destinations/webhdfs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://risingwavelabs.mintlify.app/_mintlify/api/og/v2?division=Object+storages\u0026amp;title=Sink+data+from+RisingWave+to+WebHDFS\u0026amp;description=This+guide+describes+how+to+sink+data+from+RisingWave+to+WebHDFS.\u0026amp;theme=f623197ed300707840b7cb4e\u0026amp;signature=8fd196b8a019dee9e6585c543598f8f61d294bcd2c17740352c177236f8cc814\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Sink data from RisingWave to WebHDFS - RisingWave\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This guide describes how to sink data from RisingWave to WebHDFS.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://risingwavelabs.mintlify.app/_mintlify/api/og/v2?division=Object+storages\u0026amp;title=Sink+data+from+RisingWave+to+WebHDFS\u0026amp;description=This+guide+describes+how+to+sink+data+from+RisingWave+to+WebHDFS.\u0026amp;theme=f623197ed300707840b7cb4e\u0026amp;signature=8fd196b8a019dee9e6585c543598f8f61d294bcd2c17740352c177236f8cc814\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/risingwavelabs/XB2VPvZUQ1sTe2fS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"RisingWave\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#005eec\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.risingwave.com/integrations/destinations/webhdfs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/destinations/webhdfs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.risingwave.com/#organization\",\"name\":\"RisingWave\",\"url\":\"https://docs.risingwave.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/risingwavelabs/MBiw07hESa08PLsp/logo/light.svg?fit=max\u0026auto=format\u0026n=MBiw07hESa08PLsp\u0026q=85\u0026s=ec9c31744f8c3ddaa5c37f6f7fd0385b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.risingwave.com#website\",\"name\":\"RisingWave\",\"url\":\"https://docs.risingwave.com\",\"publisher\":{\"@id\":\"https://docs.risingwave.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.risingwave.com/integrations/destinations/webhdfs#webpage\",\"url\":\"https://docs.risingwave.com/integrations/destinations/webhdfs\",\"name\":\"Sink data from RisingWave to WebHDFS\",\"description\":\"This guide describes how to sink data from RisingWave to WebHDFS.\",\"dateModified\":\"2026-01-22T08:22:17.045Z\",\"isPartOf\":{\"@id\":\"https://docs.risingwave.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.risingwave.com/integrations/destinations/webhdfs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.risingwave.com/integrations/destinations/webhdfs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Work with data\",\"item\":\"https://docs.risingwave.com/ingestion/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deliver data\",\"item\":\"https://docs.risingwave.com/delivery/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Other connectors\",\"item\":\"https://docs.risingwave.com/integrations/destinations/apache-pulsar\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Object storages\",\"item\":\"https://docs.risingwave.com/integrations/destinations/aws-s3\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Sink data from RisingWave to WebHDFS\",\"item\":\"https://docs.risingwave.com/integrations/destinations/webhdfs\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.risingwave.com/integrations/destinations/webhdfs#article\",\"headline\":\"Sink data from RisingWave to WebHDFS\",\"name\":\"Sink data from RisingWave to WebHDFS\",\"description\":\"This guide describes how to sink data from RisingWave to WebHDFS.\",\"url\":\"https://docs.risingwave.com/integrations/destinations/webhdfs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.risingwave.com/integrations/destinations/webhdfs#webpage\"},\"dateModified\":\"2026-01-22T08:22:17.045Z\",\"publisher\":{\"@id\":\"https://docs.risingwave.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.risingwave.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"RisingWave\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"RisingWave","nav":{"global":{"anchors":[{"anchor":"Join Slack community","icon":"slack","href":"https://go.risingwave.com/slack"},{"anchor":"GitHub","icon":"github","href":"https://github.com/risingwavelabs/risingwave"}]},"versions":[{"version":"Current (v3.0)","tabs":[{"tab":"Guides","groups":[{"group":"Get started","pages":[{"title":"What is RisingWave?","href":"/get-started/intro"},{"title":"Quick start","sidebarTitle":"Quick start","href":"/get-started/quickstart"},{"title":"RisingWave use cases","sidebarTitle":"Use cases","href":"/get-started/use-cases"},{"group":"Recipes","pages":[{"title":"Kafka → materialized view → serve","sidebarTitle":"Kafka to MV to serve","href":"/get-started/recipes/kafka-to-mv-to-serve"},{"title":"PostgreSQL CDC pipeline","sidebarTitle":"PostgreSQL CDC","href":"/get-started/recipes/cdc-postgres"},{"title":"Feature store","sidebarTitle":"Feature store","href":"/get-started/recipes/feature-store"},{"title":"Real-time stream enrichment","sidebarTitle":"Stream enrichment","href":"/get-started/recipes/stream-enrichment"},{"title":"Webhook event ingestion","sidebarTitle":"Webhook ingest","href":"/get-started/recipes/webhook-ingest"},{"title":"Stream data to Iceberg","sidebarTitle":"Stream to Iceberg","href":"/get-started/recipes/stream-to-iceberg"},{"title":"Lakehouse ingestion pipeline","sidebarTitle":"Lakehouse ingestion","href":"/get-started/recipes/lakehouse-ingestion"},{"title":"Subscription push notifications","sidebarTitle":"Subscription push","href":"/get-started/recipes/subscription-push"}]},{"title":"RisingWave architecture","sidebarTitle":"Architecture","mode":"wide","href":"/get-started/architecture"},{"title":"Source, Table, Materialized View, and Sink","sidebarTitle":"Source, Table, MV, and Sink","href":"/get-started/source-table-mv-sink"},{"title":"RisingWave Premium features","sidebarTitle":"Premium features","href":"/get-started/premium-features"},{"title":"Elastic disk cache","sidebarTitle":"Elastic disk cache","href":"/get-started/disk-cache"},{"group":"Example projects","pages":[{"title":"Overview","mode":"wide","href":"/demos/overview"},{"title":"Example repository","url":"https://github.com/risingwavelabs/awesome-stream-processing","href":"/demos/example-repository"},{"group":"Capital markets","pages":[{"title":"Market data enrichment and transformation","href":"/demos/market-data-enrichment"},{"title":"Market and trade activity surveillance","href":"/demos/market-trade-surveillance"}]},{"group":"E-Commerce","pages":[{"title":"Marketing campaign performance analysis","href":"/demos/marketing-analysis"}]},{"group":"Sports betting","pages":[{"title":"User betting behavior analysis","href":"/demos/betting-behavior-analysis"},{"title":"Risk and profit analysis in sports betting","href":"/demos/sports-risk-profit-analysis"}]},{"group":"Logistics","pages":[{"title":"Inventory management and demand forecast","href":"/demos/inventory-management-forecast"}]},{"group":"RAG system","pages":[{"title":"Building a RAG system on RisingWave","href":"/demos/rag-system-on-risingwave"}]},{"group":"RisingWave agent","pages":[{"title":"Use agents to analyze data ingested into RisingWave","sidebarTitle":"RisingWave agent demo","href":"/demos/risingwave-agent"}]}]},{"group":"Performance benchmarks","pages":[{"title":"Stream processing benchmarks: Nexmark results","sidebarTitle":"Stream processing benchmarks","href":"/get-started/rw-benchmarks-stream-processing"},{"title":"Query serving benchmarks: sysbench results","sidebarTitle":"Query serving benchmarks","href":"/get-started/rw-benchmarks-query"}]},{"title":"Connectors Overview","sidebarTitle":"Connectors","href":"/get-started/connectors"}]},{"group":"Work with data","pages":[{"group":"Ingest data","pages":[{"title":"Data ingestion patterns","sidebarTitle":"Overview","href":"/ingestion/overview"},{"group":"Core concepts","pages":[{"title":"CREATE SOURCE vs. CREATE TABLE","sidebarTitle":"CREATE SOURCE vs. CREATE TABLE","href":"/ingestion/create-source-vs-create-table"},{"title":"Data formats and encoding options","sidebarTitle":"Data formats and encoding options","href":"/ingestion/formats-and-encoding-options"},{"group":"Manage schemas","pages":[{"title":"Modify source or table schemas","sidebarTitle":"Modify schemas","href":"/ingestion/modify-source-or-table-schemas"},{"title":"Extract metadata from sources","sidebarTitle":"Source metadata","href":"/ingestion/extract-metadata-from-sources"}]}]},{"group":"Webhooks \u0026 Events API","pages":[{"title":"Ingest data from webhook","sidebarTitle":"Overview","href":"/integrations/sources/webhook"},{"title":"Ingest OpenTelemetry data (OTel) into RisingWave","sidebarTitle":"OpenTelemetry (OTel)","href":"/integrations/sources/opentelemetry-webhook"},{"title":"Ingest data with Events API (HTTP)","sidebarTitle":"Events API","href":"/integrations/sources/events-api"},{"title":"Ingest data from GitHub webhook","sidebarTitle":"GitHub webhook","href":"/integrations/sources/github-webhook"},{"title":"Ingest data from Segment webhook","sidebarTitle":"Segment webhook","href":"/integrations/sources/segment-webhook"},{"title":"Ingest data from HubSpot webhook","sidebarTitle":"HubSpot webhook","href":"/integrations/sources/hubspot-webhook"},{"title":"Ingest data from Amazon EventBridge webhook","sidebarTitle":"Amazon EventBridge webhook","href":"/integrations/sources/eventbridge-webhook"},{"title":"Ingest data from RudderStack webhook","sidebarTitle":"RudderStack webhook","href":"/integrations/sources/rudderstack-webhook"}]},{"group":"Change Data Capture","pages":[{"title":"Change data capture","sidebarTitle":"CDC with RisingWave","href":"/ingestion/cdc-with-risingwave"},{"title":"Monitor CDC progress","sidebarTitle":"Monitor CDC progress","href":"/ingestion/monitor-cdc-progress"},{"group":"PostgreSQL CDC","pages":[{"title":"PostgreSQL CDC","sidebarTitle":"Connect to PostgreSQL","href":"/ingestion/sources/postgresql/pg-cdc"},{"group":"Platform-specific setup","pages":[{"title":"Set up a self-hosted PostgreSQL database","sidebarTitle":"Self-hosted","href":"/ingestion/sources/postgresql/self-hosted"},{"title":"Set up AWS RDS \u0026 Aurora PostgreSQL","sidebarTitle":"AWS RDS \u0026 Aurora","href":"/ingestion/sources/postgresql/aws-rds"},{"title":"Set up Neon PostgreSQL","sidebarTitle":"Neon","href":"/ingestion/sources/postgresql/neon"},{"title":"Set up Supabase PostgreSQL","sidebarTitle":"Supabase","href":"/ingestion/sources/postgresql/supabase"}]}]},{"group":"MySQL CDC","pages":[{"title":"MySQL CDC","sidebarTitle":"MySQL CDC","href":"/ingestion/sources/mysql/mysql-cdc"},{"group":"Platform-specific setup","pages":[{"title":"Set up a self-hosted MySQL database","sidebarTitle":"Self-hosted","href":"/ingestion/sources/mysql/self-hosted"},{"title":"Set up AWS RDS MySQL \u0026 Aurora (MySQL-compatible)","sidebarTitle":"AWS RDS \u0026 Aurora","href":"/ingestion/sources/mysql/aws-rds"}]}]},{"title":"Ingest data from MongoDB CDC","sidebarTitle":"MongoDB CDC","href":"/ingestion/sources/mongodb-cdc"},{"title":"Ingest data from SQL Server CDC","sidebarTitle":"SQL Server CDC","href":"/ingestion/sources/sql-server-cdc"}]},{"group":"Apache Kafka","pages":[{"title":"Ingest from Apache Kafka","sidebarTitle":"Connect to Kafka","href":"/ingestion/sources/kafka"},{"title":"Kafka configuration options","sidebarTitle":"Kafka config","href":"/ingestion/sources/kafka-config"},{"title":"Monitor Kafka consumer lag","sidebarTitle":"Monitor Kafka consumer lag","href":"/ingestion/monitor-kafka-consumer-lag"},{"group":"Managed/Hosted Kafka","pages":[{"title":"Ingest data from Amazon MSK","sidebarTitle":"Amazon MSK","href":"/integrations/sources/amazon-msk"},{"title":"Ingest data from AutoMQ Kafka","sidebarTitle":"AutoMQ Kafka","href":"/integrations/sources/automq-kafka"},{"title":"Ingest data from Confluent Cloud","sidebarTitle":"Confluent Cloud","href":"/integrations/sources/confluent-cloud"},{"title":"Ingest data from Instaclustr Kafka","sidebarTitle":"Instaclustr Kafka","href":"/integrations/sources/instaclustr-kafka"},{"title":"Ingest data from RedHat AMQ Streams","sidebarTitle":"RedHat AMQ Streams","href":"/integrations/sources/redhat-amq-streams"},{"title":"Ingest data from WarpStream","sidebarTitle":"WarpStream","href":"/integrations/sources/warpstream"}]}]},{"title":"Apache Iceberg","url":"/iceberg/ingest-from-iceberg","href":"/ingestion/sources/iceberg"},{"group":"Database tables (non-CDC)","pages":[{"title":"Query PostgreSQL tables (non-CDC)","sidebarTitle":"PostgreSQL tables (non-CDC)","href":"/integrations/sources/postgresql-table"},{"title":"Query MySQL tables (non-CDC)","sidebarTitle":"MySQL tables (non-CDC)","href":"/integrations/sources/mysql-table"},{"title":"Ingest data from Snowflake","sidebarTitle":"Snowflake","href":"/ingestion/sources/snowflake"}]},{"group":"Object storage","pages":[{"title":"Ingest data from Azure Blob","sidebarTitle":"Azure Blob","href":"/integrations/sources/azure-blob"},{"title":"Ingest data from Google Cloud Storage","sidebarTitle":"Google Cloud Storage","href":"/integrations/sources/google-cloud-storage"},{"title":"Ingest data from S3 buckets","sidebarTitle":"AWS S3","href":"/integrations/sources/s3"}]},{"group":"Other messaging platforms","pages":[{"title":"Monitor source connector acknowledgments","sidebarTitle":"Monitor connector acks","href":"/ingestion/monitor-source-connector-acks"},{"title":"Ingest data from Google Pub/Sub","sidebarTitle":"Google Pub/Sub","href":"/integrations/sources/google-pub-sub"},{"title":"Ingest data from Kinesis","sidebarTitle":"AWS Kinesis","href":"/integrations/sources/kinesis"},{"group":"MQTT","pages":[{"title":"Ingest data from MQTT brokers","sidebarTitle":"Overview","href":"/integrations/sources/mqtt"},{"title":"Ingest data from Coreflux broker","sidebarTitle":"Coreflux","href":"/integrations/sources/coreflux-broker"},{"title":"Ingest data from EMQX broker","sidebarTitle":"EMQX","href":"/integrations/sources/emqx"},{"title":"Ingest data from HiveMQ broker","sidebarTitle":"HiveMQ","href":"/integrations/sources/hivemq"}]},{"title":"Ingest data from NATS JetStream","sidebarTitle":"NATS JetStream","href":"/integrations/sources/nats-jetstream"},{"title":"Ingest data from Pulsar","sidebarTitle":"Apache Pulsar","href":"/integrations/sources/pulsar"},{"title":"Ingest data from Redpanda","mode":"wide","sidebarTitle":"Redpanda","href":"/integrations/sources/redpanda"},{"title":"Ingest data from Solace","sidebarTitle":"Solace","href":"/integrations/sources/solace"}]}]},{"group":"Process data","pages":[{"title":"Data processing in RisingWave","sidebarTitle":"Overview","href":"/processing/overview"},{"group":"Manage pipelines","pages":[{"title":"Use dbt for data transformations","sidebarTitle":"dbt","href":"/integrations/other/dbt"},{"title":"Use SQLMesh to streamline pipelines","sidebarTitle":"SQLMesh","href":"/integrations/other/sqlmesh"}]},{"group":"SQL patterns","pages":[{"title":"Dynamic filters","mode":"wide","href":"/processing/sql/dynamic-filters"},{"title":"Temporal filters","href":"/processing/sql/temporal-filters"},{"title":"Periodic query pattern","href":"/processing/sql/periodic-query"},{"title":"Joins","href":"/processing/sql/joins"},{"title":"Time windows","href":"/processing/sql/time-windows"},{"title":"Top-N by group","href":"/processing/sql/top-n-by-group"},{"title":"Full SQL references","url":"/sql/overview","href":"/processing/sql/sql-references"}]},{"title":"Deletes and updates","href":"/processing/deletes-and-updates"},{"title":"Transactions","href":"/processing/transactions"},{"title":"Maintain wide table with table sinks","href":"/processing/maintain-wide-table-with-table-sinks"},{"title":"Watermarks","href":"/processing/watermarks"},{"title":"Emit on window close","href":"/processing/emit-on-window-close"},{"title":"Indexes","href":"/processing/indexes"},{"title":"Vector indexes","href":"/processing/vector-indexes"},{"title":"Time travel queries","href":"/processing/time-travel-queries"},{"title":"Serverless backfilling","href":"/processing/serverless-backfill"}]},{"group":"Store and access data","pages":[{"title":"RisingWave storage overview","sidebarTitle":"Storage","href":"/store/overview"},{"title":"Query \u0026 serve data from RisingWave","sidebarTitle":"Access","href":"/serve/overview"},{"title":"Integrate with PostgreSQL via foreign data wrapper (FDW)","sidebarTitle":"PostgreSQL FDW","href":"/serve/risingwave-as-postgres-fdw"},{"group":"Visualization tools","pages":[{"title":"Overview","mode":"wide","href":"/integrations/visualization/overview"},{"title":"Connect Bytebase to RisingWave","sidebarTitle":"Bytebase","href":"/integrations/visualization/bytebase"},{"title":"Connect Beekeeper Studio to RisingWave","sidebarTitle":"Beekeeper Studio","href":"/integrations/visualization/beekeeper-studio"},{"title":"Connect DBeaver to RisingWave","sidebarTitle":"DBeaver","href":"/integrations/visualization/dbeaver"},{"title":"Configure Grafana to read data from RisingWave","sidebarTitle":"Grafana","href":"/integrations/visualization/grafana"},{"title":"Connect Looker to RisingWave","sidebarTitle":"Looker","href":"/integrations/visualization/looker"},{"title":"Connect Metabase to RisingWave","sidebarTitle":"Metabase","href":"/integrations/visualization/metabase"},{"title":"Configure Superset to read data from RisingWave","sidebarTitle":"Superset","href":"/integrations/visualization/superset"}]}]},{"group":"Deliver data","pages":[{"title":"Data delivery overview","sidebarTitle":"Overview","href":"/delivery/overview"},{"title":"Subscribe to real-time updates","sidebarTitle":"Subscribe to real-time updates","href":"/serve/subscription"},{"title":"Sink data from RisingWave to Apache Iceberg","sidebarTitle":"Apache Iceberg","url":"/iceberg/deliver-to-iceberg","href":"/integrations/destinations/apache-iceberg"},{"title":"Sink to Kafka","sidebarTitle":"Apache Kafka","href":"/integrations/destinations/apache-kafka"},{"title":"Sink data from RisingWave to ClickHouse","sidebarTitle":"ClickHouse","href":"/integrations/destinations/clickhouse"},{"title":"Sink data from RisingWave to Elasticsearch","sidebarTitle":"Elasticsearch","href":"/integrations/destinations/elasticsearch"},{"title":"Sink data from RisingWave to PostgreSQL","sidebarTitle":"PostgreSQL","href":"/integrations/destinations/postgresql"},{"title":"Sink data from RisingWave to MySQL with the JDBC connector","sidebarTitle":"MySQL","href":"/integrations/destinations/mysql"},{"group":"Other connectors","pages":[{"group":"Message queues","pages":[{"title":"Sink data from RisingWave to Apache Pulsar","sidebarTitle":"Apache Pulsar","href":"/integrations/destinations/apache-pulsar"},{"title":"Sink to AWS Kinesis","sidebarTitle":"AWS Kinesis","href":"/integrations/destinations/aws-kinesis"},{"title":"Sink data to NATS and NATS JetStream","sidebarTitle":"NATS JetStream","href":"/integrations/destinations/nats-and-nats-jetstream"},{"title":"Sink data from RisingWave to Google Pub/Sub","sidebarTitle":"Google Pub/Sub","href":"/integrations/destinations/google-pub-sub"},{"title":"Sink data from RisingWave to HTTP endpoints","sidebarTitle":"HTTP","href":"/integrations/destinations/http"},{"title":"Sink data from RisingWave to MQTT","sidebarTitle":"MQTT","href":"/integrations/destinations/mqtt"}]},{"group":"Operational","pages":[{"title":"Sink data from RisingWave to MongoDB","sidebarTitle":"MongoDB","href":"/integrations/destinations/mongodb"},{"title":"Sink data from RisingWave to Amazon DynamoDB","sidebarTitle":"Amazon DynamoDB","href":"/integrations/destinations/amazon-dynamodb"},{"title":"Sink data from RisingWave to SQL Server","sidebarTitle":"Microsoft SQL Server","href":"/integrations/destinations/sql-server"},{"title":"Sink data from RisingWave to Redis","sidebarTitle":"Redis","href":"/integrations/destinations/redis"},{"title":"Sink data from RisingWave to Supabase","sidebarTitle":"Supabase","href":"/integrations/destinations/supabase"},{"title":"Sink data from RisingWave to Turbopuffer","sidebarTitle":"Turbopuffer","href":"/integrations/destinations/turbopuffer"},{"title":"Sink data from RisingWave to TiDB with the JDBC connector","sidebarTitle":"TiDB","href":"/integrations/destinations/tidb"},{"title":"Sink data from RisingWave to CockroachDB","sidebarTitle":"CockroachDB","href":"/integrations/destinations/cockroachdb"},{"title":"Sink data from RisingWave to Cassandra or ScyllaDB","sidebarTitle":"Cassandra","href":"/integrations/destinations/cassandra-or-scylladb"}]},{"group":"Analytical","pages":[{"title":"Sink data from RisingWave to Apache Doris","sidebarTitle":"Apache Doris","href":"/integrations/destinations/apache-doris"},{"title":"Sink data from RisingWave to StarRocks","sidebarTitle":"StarRocks","href":"/integrations/destinations/starrocks"},{"title":"Sink data from RisingWave to Snowflake","sidebarTitle":"Snowflake","href":"/integrations/destinations/snowflake"},{"title":"Sink data from RisingWave to Snowflake (v2)","sidebarTitle":"Snowflake v2","href":"/integrations/destinations/snowflake-v2"},{"title":"Sink data from RisingWave to Amazon Redshift","sidebarTitle":"Amazon Redshift","href":"/integrations/destinations/redshift"},{"title":"Sink data from RisingWave to Google BigQuery","sidebarTitle":"Google BigQuery","href":"/integrations/destinations/bigquery"},{"title":"Sink data from RisingWave to OpenSearch","sidebarTitle":"OpenSearch","href":"/integrations/destinations/opensearch"},{"title":"Sink data from RisingWave to Delta Lake","sidebarTitle":"Delta Lake","href":"/integrations/destinations/delta-lake"}]},{"group":"Object storages","pages":[{"title":"Sink data from RisingWave to AWS S3","sidebarTitle":"AWS S3","href":"/integrations/destinations/aws-s3"},{"title":"Sink data from RisingWave to Azure Blob","sidebarTitle":"Azure Blob Storage","href":"/integrations/destinations/azure-blob"},{"title":"Sink data from RisingWave to Google Cloud Storage","sidebarTitle":"Google Cloud Storage","description":"This guide describes how to sink data from RisingWave to Google Cloud Storage sink using GCS connector in RisingWave.","href":"/integrations/destinations/google-cloud-storage"},{"title":"Sink data from RisingWave to WebHDFS","sidebarTitle":"WebHDFS","href":"/integrations/destinations/webhdfs"}]}]}]}]},{"group":"Install \u0026 Operate","pages":[{"group":"Install","pages":[{"title":"Deployment options","sidebarTitle":"Overview","description":"Choose a RisingWave deployment mode: standalone, Docker Compose, Kubernetes/Helm for production, or fully managed RisingWave Cloud.","href":"/deploy/deployment-modes-overview"},{"title":"Standalone mode","href":"/operate/rw-standalone-mode"},{"title":"Docker Compose","href":"/deploy/risingwave-docker-compose"},{"title":"RisingWave Cloud","mode":"wide","href":"/deploy/risingwave-cloud"},{"title":"Kubernetes (Helm)","href":"/deploy/risingwave-k8s-helm"},{"title":"Kubernetes (Operator)","href":"/deploy/risingwave-kubernetes"},{"group":"Prerequisites","pages":[{"title":"Hardware requirements","href":"/deploy/hardware-requirements"},{"title":"Install psql without PostgreSQL","sidebarTitle":"Install psql","href":"/deploy/install-psql-without-postgresql"}]},{"group":"Post-deployment configuration","pages":[{"title":"Node-specific configurations","href":"/deploy/node-specific-configurations"},{"title":"Migrate from etcd to SQL backend for metadata management","sidebarTitle":"Migrate to SQL backend","href":"/deploy/migrate-to-sql-backend"}]},{"title":"Uninstall RisingWave from a Kubernetes cluster","sidebarTitle":"Uninstall RisingWave from a cluster","href":"/deploy/uninstall-risingwave-k8s"}]},{"group":"Operate","pages":[{"group":"Monitor","pages":[{"title":"Monitor a RisingWave cluster","href":"/operate/monitor-risingwave-cluster"},{"title":"Prometheus metrics reference","href":"/operate/prometheus-metrics-reference"},{"title":"Monitor statement progress","href":"/operate/monitor-statement-progress"}]},{"group":"Configuration","pages":[{"title":"View and configure system parameters","href":"/operate/view-configure-system-parameters"},{"title":"View and configure runtime parameters","href":"/operate/view-configure-runtime-parameters"},{"title":"Cluster limit","href":"/operate/cluster-limit"}]},{"group":"Maintenance","pages":[{"title":"Upgrade RisingWave in a Kubernetes cluster","href":"/deploy/upgrade-risingwave-k8s"},{"title":"Cluster scaling","href":"/deploy/k8s-cluster-scaling"},{"title":"Back up and restore meta service","href":"/operate/meta-backup"},{"title":"Update source properties with risectl","href":"/operate/risectl-source-commands"}]},{"group":"Security","pages":[{"title":"Access control","href":"/operate/access-control"},{"title":"LDAP authentication","href":"/operate/ldap-authentication"},{"title":"Implement row-level security in RisingWave","sidebarTitle":"Row-level security","href":"/operate/row-level-security"},{"title":"Manage secrets","href":"/operate/manage-secrets"},{"title":"Set up secure connections to RisingWave with SSL/TLS","sidebarTitle":"Secure connections with SSL/TLS","href":"/operate/secure-connections-with-ssl-tls"}]},{"group":"Performance optimization","pages":[{"title":"Workload isolation and interaction","href":"/operate/workload-isolation-interaction"},{"title":"Tune reserved memory and cache eviction policy","href":"/operate/tune-reserved-memory"},{"title":"Dedicated Compute Nodes","sidebarTitle":"Set up a dedicated Compute Node","href":"/operate/dedicated-compute-node"},{"title":"Manage a large number of streaming jobs","href":"/operate/manage-a-large-number-of-streaming-jobs"}]},{"group":"Streaming jobs","pages":[{"title":"Alter a streaming job","href":"/operate/alter-streaming"}]},{"title":"Telemetry","href":"/operate/telemetry"}]}]},{"group":"Performance","pages":[{"title":"Performance guide overview","sidebarTitle":"Overview","href":"/performance/overview"},{"title":"Monitoring and metrics","sidebarTitle":"Monitoring and metrics","href":"/performance/metrics"},{"group":"Best practices","pages":[{"title":"Best practices for optimizing performance","sidebarTitle":"Overview","href":"/performance/best-practices"},{"title":"Serving optimizations","href":"/performance/serving-optimizations"},{"title":"Streaming optimizations","href":"/performance/streaming-optimizations"}]},{"group":"Troubleshoot","pages":[{"title":"General troubleshooting approach","href":"/performance/performance-troubleshoot-ov"},{"title":"High latency","href":"/performance/troubleshoot-high-latency"},{"title":"End-to-end latency","href":"/performance/troubleshoot-e2e-latency"},{"title":"Specific bottlenecks","href":"/performance/specific-bottlenecks"}]},{"title":"Workload analysis","href":"/performance/workload-analysis"},{"title":"Frequently asked questions (FAQ)","sidebarTitle":"FAQs","href":"/performance/faq"}]},{"group":"Troubleshooting","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/troubleshoot/overview"},{"title":"Out of memory","href":"/troubleshoot/troubleshoot-oom"},{"group":"Node failure","pages":[{"title":"Node failure","href":"/troubleshoot/node-failure"},{"title":"Meta failure","href":"/troubleshoot/meta-failure"}]},{"title":"Recovery failure","href":"/troubleshoot/troubleshoot-recovery-failure"},{"title":"Sources and sinks","sidebarTitle":"Sources \u0026 sinks","href":"/troubleshoot/troubleshoot-source-sink"},{"title":"Deployment issues","href":"/troubleshoot/troubleshoot-deployment-issues"}]},{"group":"Reference","pages":[{"title":"Key concepts","sidebarTitle":"Glossary","href":"/reference/key-concepts"},{"title":"What is a Streaming Database?","sidebarTitle":"Streaming Database","href":"/reference/what-is-streaming-database"},{"title":"What is a Materialized View in RisingWave?","sidebarTitle":"Materialized Views","href":"/reference/what-is-materialized-view"},{"title":"What is a Source in RisingWave?","sidebarTitle":"Sources","href":"/reference/what-is-source"},{"title":"What is a Sink in RisingWave?","sidebarTitle":"Sinks","href":"/reference/what-is-sink"},{"title":"What is Change Data Capture (CDC) in RisingWave?","sidebarTitle":"Change Data Capture (CDC)","href":"/reference/what-is-cdc"},{"title":"What is Stream Processing?","sidebarTitle":"Stream Processing","href":"/reference/what-is-stream-processing"},{"title":"What is Streaming ETL?","sidebarTitle":"Streaming ETL","href":"/reference/what-is-streaming-etl"},{"title":"Fault tolerance","mode":"wide","href":"/reference/fault-tolerance"},{"title":"Data persistence","mode":"wide","href":"/reference/data-persistence"},{"title":"RisingWave vs. Apache Kafka: Which one to choose?","sidebarTitle":"RisingWave vs. Kafka","href":"/reference/risingwave-kafka-comparison"},{"title":"RisingWave vs. Apache Flink","sidebarTitle":"RisingWave vs. Flink","href":"/reference/risingwave-flink-comparison"},{"title":"RisingWave vs. Flink: Feature-by-feature comparison","sidebarTitle":"RisingWave vs. Flink: feature comparison","href":"/reference/rw-flink-feature-comparison"},{"title":"RisingWave vs. Debezium","sidebarTitle":"RisingWave vs. Debezium","href":"/reference/risingwave-debezium-comparison"},{"title":"RisingWave vs. ksqlDB","sidebarTitle":"RisingWave vs. ksqlDB","href":"/reference/risingwave-ksqldb-comparison"},{"title":"RisingWave vs. Kafka Streams","sidebarTitle":"RisingWave vs. Kafka Streams","href":"/reference/risingwave-kafka-streams-comparison"},{"title":"RisingWave vs. Spark Structured Streaming","sidebarTitle":"RisingWave vs. Spark Streaming","href":"/reference/risingwave-spark-comparison"}]},{"group":"Cloud","pages":[{"group":"About","pages":[{"title":"What's RisingWave Cloud?","mode":"wide","href":"/cloud/intro"},{"title":"FAQ","mode":"wide","href":"/cloud/faq"}]},{"group":"Get started","pages":[{"title":"Quick start","href":"/cloud/quickstart"},{"title":"Sign up and log in","url":"https://cloud.risingwave.com/auth/signup/","href":"/cloud/signup-login"},{"title":"Install the RisingWave Cloud CLI","href":"/cloud/install-cli"}]},{"group":"Clusters","pages":[{"title":"Manage clusters","sidebarTitle":"Overview","href":"/cloud/manage-projects"},{"title":"Choose a cluster plan","href":"/cloud/choose-a-project-plan"},{"title":"Connect to a cluster","href":"/cloud/connect-to-a-project"},{"title":"Connection errors","href":"/cloud/connection-errors"},{"title":"Bring your own cloud","href":"/cloud/project-byoc"},{"title":"Bring your own Kubernetes","href":"/cloud/project-byok"},{"title":"Check status and metrics of clusters","sidebarTitle":"Check status and metrics","href":"/cloud/check-status-and-metrics"},{"title":"Scale a cluster manually","href":"/cloud/scale-a-project-manually"},{"title":"Update RisingWave version","href":"/cloud/update-database-version"},{"title":"Maintenance windows","sidebarTitle":"Maintenance windows","href":"/cloud/maintenance-window"},{"title":"Stop and delete clusters","href":"/cloud/stop-and-delete-projects"}]},{"group":"Management","pages":[{"title":"Export metrics","sidebarTitle":"Metrics","href":"/cloud/export-metrics"},{"title":"Manage resources","sidebarTitle":"Resources","href":"/cloud/manage-resources"},{"title":"Manage disk cache","sidebarTitle":"Disk cache","href":"/cloud/manage-disk-cache"},{"title":"Configure serverless backfilling","href":"/cloud/serverless-backfilling"},{"title":"Serverless compaction","href":"/cloud/serverless-compaction"},{"title":"Manage database users","sidebarTitle":"Users","href":"/cloud/manage-database-users"},{"title":"Manage backups","sidebarTitle":"Backup","href":"/cloud/manage-backups"},{"title":"Cloud metadata","sidebarTitle":"Cloud metadata","href":"/cloud/cloud-metadata"},{"title":"Set up IAM role assume","sidebarTitle":"IAM role assume","href":"/cloud/iam-role-assume"},{"group":"PrivateLink","pages":[{"title":"PrivateLink connection","sidebarTitle":"Overview","href":"/cloud/privatelink-overview"},{"title":"PrivateLink connection configuration","sidebarTitle":"PrivateLink config","href":"/cloud/create-a-connection"}]},{"group":"BYOC","pages":[{"title":"Connect BYOC telemetry to Grafana","sidebarTitle":"BYOC telemetry in Grafana","href":"/cloud/connect-byoc-telemetry-to-grafana"}]}]},{"group":"Develop","pages":[{"title":"Develop with RisingWave Cloud","href":"/cloud/develop-overview"},{"title":"RisingWave Connect","sidebarTitle":"RisingWave Connect","href":"/cloud/risingwave-connect"},{"title":"Manage sources","href":"/cloud/manage-sources"},{"title":"Ingest data from webhook","href":"/cloud/ingest-data-from-webhook"},{"title":"Ingest data from WebSocket","href":"/cloud/ingest-data-from-websocket"},{"title":"Manage sinks","href":"/cloud/manage-sinks"},{"title":"Monitor materialized views","sidebarTitle":"Materialized views","mode":"wide","href":"/cloud/monitor-materialized-views"},{"title":"SQL Editor","href":"/cloud/console-overview"}]},{"group":"Organization","pages":[{"title":"Organization","sidebarTitle":"Overview","href":"/cloud/organization-overview"},{"title":"Invite and manage users in your organization","sidebarTitle":"Invite and manage users","href":"/cloud/manage-users"},{"title":"Set up Single Sign-On (SSO) for your organization","sidebarTitle":"Single Sign-On (SSO)","href":"/cloud/sso"},{"title":"Set up service accounts for applications","sidebarTitle":"Service account \u0026 API key","href":"/cloud/service-account"},{"title":"Role-based access control (RBAC)","sidebarTitle":"Role-based access control","href":"/cloud/organization-rbac"}]},{"group":"Billing","pages":[{"title":"Billing","sidebarTitle":"Overview","href":"/cloud/billing-overview"},{"title":"Pricing","href":"/cloud/pricing"},{"title":"Check spending details","href":"/cloud/check-spending-details"},{"title":"Review and pay invoices","href":"/cloud/review-and-pay-invoices"},{"title":"Manage payment methods","href":"/cloud/manage-payment-methods"}]},{"group":"Messages and alerts","pages":[{"title":"Monitor messages and alerts","sidebarTitle":"Overview","href":"/cloud/monitor-messages-and-alerts"},{"group":"Alert playbooks","pages":[{"title":"Alerts playbooks","href":"/cloud/alert-playbooks"},{"group":"Service Health","pages":[{"title":"Out of memory error","sidebarTitle":"Out of memory error","href":"/cloud/alert-playbooks/service-health/out-of-memory-error"},{"title":"RisingWave pod crash looping","sidebarTitle":"RisingWave pod crash looping","href":"/cloud/alert-playbooks/service-health/risingwave-pod-crash-looping"},{"title":"RisingWave pod not healthy","sidebarTitle":"RisingWave pod not healthy","href":"/cloud/alert-playbooks/service-health/risingwave-pod-not-healthy"},{"title":"RisingWave pod pending","sidebarTitle":"RisingWave pod pending","href":"/cloud/alert-playbooks/service-health/risingwave-pod-pending"},{"title":"Serving CPU load pressure","sidebarTitle":"Serving CPU load pressure","href":"/cloud/alert-playbooks/service-health/serving-cpu-load-pressure"}]},{"group":"Streaming","pages":[{"title":"Barrier pending for too long","sidebarTitle":"Barrier pending for too long","href":"/cloud/alert-playbooks/streaming/barrier-pending-for-too-long"},{"title":"MySQL CDC binlog file lag too high","sidebarTitle":"MySQL CDC binlog file lag too high","href":"/cloud/alert-playbooks/streaming/mysql-cdc-binlog-file-lag"},{"title":"PostgreSQL CDC WAL lag","sidebarTitle":"PostgreSQL CDC WAL lag","href":"/cloud/alert-playbooks/streaming/postgresql-cdc-wal-lag"},{"title":"Sink lag too large","sidebarTitle":"Sink lag too large","href":"/cloud/alert-playbooks/streaming/sink-lag-too-large"},{"title":"Cross-database subscription changelog expiry headroom low","sidebarTitle":"Cross-database changelog expiry headroom low","href":"/cloud/alert-playbooks/streaming/cross-database-subscription-changelog-expiry-headroom-low"}]},{"group":"Compaction","pages":[{"title":"Compaction back pressure","sidebarTitle":"Compaction back pressure","href":"/cloud/alert-playbooks/compaction/compaction-back-pressure"},{"title":"Write stall compaction stuck","sidebarTitle":"Write stall compaction stuck","href":"/cloud/alert-playbooks/compaction/write-stall-compaction-stuck"}]}]}]},{"group":"Account","pages":[{"title":"Manage your account","href":"/cloud/manage-your-account"},{"title":"Forgot password?","mode":"wide","href":"/cloud/forgot-password"}]}]}]},{"tab":"Apache Iceberg™","pages":[{"title":"Apache Iceberg™","href":"/iceberg/overview"}]},{"tab":"SQL/Python/UDFs","pages":[{"title":"SQL/Python/UDFs","href":"/sql/overview"}]},{"tab":"Client Libraries","pages":[{"title":"Client Libraries","href":"/client-libraries/overview"}]},{"tab":"Web UI","pages":[{"title":"Web UI","href":"/web-ui/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/release-notes"}]}]}]},"title":"Sink data from RisingWave to WebHDFS - RisingWave","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}