"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2370],{15680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>y});var a=t(96540);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=a.createContext({}),l=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=l(e.components);return a.createElement(p.Provider,{value:n},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),m=l(t),u=o,y=m["".concat(p,".").concat(u)]||m[u]||g[u]||r;return t?a.createElement(y,i(i({ref:n},c),{},{components:t})):a.createElement(y,i({ref:n},c))}));function y(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,i=new Array(r);i[0]=u;var s={};for(var p in n)hasOwnProperty.call(n,p)&&(s[p]=n[p]);s.originalType=e,s[m]="string"==typeof e?e:o,i[1]=s;for(var l=2;l<r;l++)i[l]=t[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},97622:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>p,default:()=>y,frontMatter:()=>s,metadata:()=>l,toc:()=>m});var a=t(58168),o=t(98587),r=(t(96540),t(15680)),i=["components"],s={id:"tutorial-msq-convert-spec",title:"Convert an ingestion spec for SQL-based ingestion",sidebar_label:"Convert ingestion spec to SQL",description:"How to convert an ingestion spec to a query for SQL-based ingestion in the web console."},p=void 0,l={unversionedId:"tutorials/tutorial-msq-convert-spec",id:"tutorials/tutorial-msq-convert-spec",title:"Convert an ingestion spec for SQL-based ingestion",description:"How to convert an ingestion spec to a query for SQL-based ingestion in the web console.",source:"@site/docs/latest/tutorials/tutorial-msq-convert-spec.md",sourceDirName:"tutorials",slug:"/tutorials/tutorial-msq-convert-spec",permalink:"/docs/latest/tutorials/tutorial-msq-convert-spec",draft:!1,tags:[],version:"current",frontMatter:{id:"tutorial-msq-convert-spec",title:"Convert an ingestion spec for SQL-based ingestion",sidebar_label:"Convert ingestion spec to SQL",description:"How to convert an ingestion spec to a query for SQL-based ingestion in the web console."},sidebar:"docs",previous:{title:"Transform input data",permalink:"/docs/latest/tutorials/tutorial-transform-spec"},next:{title:"Run with Docker",permalink:"/docs/latest/tutorials/docker"}},c={},m=[],g={toc:m},u="wrapper";function y(e){var n=e.components,s=(0,o.A)(e,i);return(0,r.yg)(u,(0,a.A)({},g,s,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("admonition",{type:"info"},(0,r.yg)("p",{parentName:"admonition"}," This page describes SQL-based batch ingestion using the ",(0,r.yg)("a",{parentName:"p",href:"/docs/latest/multi-stage-query/"},(0,r.yg)("inlineCode",{parentName:"a"},"druid-multi-stage-query")),"\nextension, new in Druid 24.0. Refer to the ",(0,r.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/#batch"},"ingestion methods")," table to determine which\ningestion method is right for you.")),(0,r.yg)("p",null,"If you're already ingesting data with ",(0,r.yg)("a",{parentName:"p",href:"/docs/latest/ingestion/native-batch"},"native batch ingestion"),", you can use the ",(0,r.yg)("a",{parentName:"p",href:"/docs/latest/operations/web-console"},"web console")," to convert the ingestion spec to a SQL query that the multi-stage query task engine can use to ingest data."),(0,r.yg)("p",null,"This tutorial demonstrates how to convert the ingestion spec to a query task in the web console."),(0,r.yg)("p",null,"To convert the ingestion spec to a query task, do the following:"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"In the ",(0,r.yg)("strong",{parentName:"p"},"Query")," view of the web console, navigate to the menu bar that includes ",(0,r.yg)("strong",{parentName:"p"},"Run"),".")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"Click the ellipsis icon and select ",(0,r.yg)("strong",{parentName:"p"},"Convert ingestion spec to SQL"),".\n",(0,r.yg)("img",{alt:"Convert ingestion spec to SQL",src:t(28451).A,title:"Convert ingestion spec to SQL",width:"1250",height:"640"}))),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"In the ",(0,r.yg)("strong",{parentName:"p"},"Ingestion spec to covert")," window, insert your ingestion spec. You can use your own spec or the sample ingestion spec provided in the tutorial. The sample spec uses data hosted at ",(0,r.yg)("inlineCode",{parentName:"p"},"https://druid.apache.org/data/wikipedia.json.gz")," and loads it into a table named ",(0,r.yg)("inlineCode",{parentName:"p"},"wikipedia"),":"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Show the spec"),(0,r.yg)("pre",{parentName:"li"},(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n  "type": "index_parallel",\n  "spec": {\n    "ioConfig": {\n      "type": "index_parallel",\n      "inputSource": {\n        "type": "http",\n        "uris": [\n          "https://druid.apache.org/data/wikipedia.json.gz"\n        ]\n      },\n      "inputFormat": {\n        "type": "json"\n      }\n    },\n    "tuningConfig": {\n      "type": "index_parallel",\n      "partitionsSpec": {\n        "type": "dynamic"\n      }\n    },\n    "dataSchema": {\n      "dataSource": "wikipedia",\n      "timestampSpec": {\n        "column": "timestamp",\n        "format": "iso"\n      },\n      "dimensionsSpec": {\n        "dimensions": [\n          "isRobot",\n          "channel",\n          "flags",\n          "isUnpatrolled",\n          "page",\n          "diffUrl",\n          {\n            "type": "long",\n            "name": "added"\n          },\n          "comment",\n          {\n            "type": "long",\n            "name": "commentLength"\n          },\n          "isNew",\n          "isMinor",\n          {\n            "type": "long",\n            "name": "delta"\n          },\n          "isAnonymous",\n          "user",\n          {\n            "type": "long",\n            "name": "deltaBucket"\n          },\n          {\n            "type": "long",\n            "name": "deleted"\n          },\n          "namespace",\n          "cityName",\n          "countryName",\n          "regionIsoCode",\n          "metroCode",\n          "countryIsoCode",\n          "regionName"\n        ]\n      },\n      "granularitySpec": {\n        "queryGranularity": "none",\n        "rollup": false,\n        "segmentGranularity": "day"\n      }\n    }\n  }\n}\n')))),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"Click ",(0,r.yg)("strong",{parentName:"p"},"Submit")," to submit the spec. The web console uses the JSON-based ingestion spec to generate a SQL query that you can use instead. This is what the query looks like for the sample ingestion spec:"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Show the query"),(0,r.yg)("pre",{parentName:"li"},(0,r.yg)("code",{parentName:"pre",className:"language-sql"},'-- This SQL query was auto generated from an ingestion spec\nREPLACE INTO wikipedia OVERWRITE ALL\nWITH source AS (SELECT * FROM TABLE(\n  EXTERN(\n    \'{"type":"http","uris":["https://druid.apache.org/data/wikipedia.json.gz"]}\',\n    \'{"type":"json"}\',\n    \'[{"name":"timestamp","type":"string"},{"name":"isRobot","type":"string"},{"name":"channel","type":"string"},{"name":"flags","type":"string"},{"name":"isUnpatrolled","type":"string"},{"name":"page","type":"string"},{"name":"diffUrl","type":"string"},{"name":"added","type":"long"},{"name":"comment","type":"string"},{"name":"commentLength","type":"long"},{"name":"isNew","type":"string"},{"name":"isMinor","type":"string"},{"name":"delta","type":"long"},{"name":"isAnonymous","type":"string"},{"name":"user","type":"string"},{"name":"deltaBucket","type":"long"},{"name":"deleted","type":"long"},{"name":"namespace","type":"string"},{"name":"cityName","type":"string"},{"name":"countryName","type":"string"},{"name":"regionIsoCode","type":"string"},{"name":"metroCode","type":"string"},{"name":"countryIsoCode","type":"string"},{"name":"regionName","type":"string"}]\'\n  )\n))\nSELECT\n  TIME_PARSE("timestamp") AS __time,\n  "isRobot",\n  "channel",\n  "flags",\n  "isUnpatrolled",\n  "page",\n  "diffUrl",\n  "added",\n  "comment",\n  "commentLength",\n  "isNew",\n  "isMinor",\n  "delta",\n  "isAnonymous",\n  "user",\n  "deltaBucket",\n  "deleted",\n  "namespace",\n  "cityName",\n  "countryName",\n  "regionIsoCode",\n  "metroCode",\n  "countryIsoCode",\n  "regionName"\nFROM source\nPARTITIONED BY DAY\n')))),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"Review the generated SQL query to make sure it matches your requirements and does what you expect.")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},"Click ",(0,r.yg)("strong",{parentName:"p"},"Run")," to start the ingestion."))))}y.isMDXComponent=!0},28451:(e,n,t)=>{t.d(n,{A:()=>a});const a=t.p+"assets/images/tutorial-msq-convert-3042e5d3f5b8888781ad4d07c246e42a.png"}}]);