"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[935],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>c});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=a.createContext({}),d=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(o.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=d(n),g=i,c=m["".concat(o,".").concat(g)]||m[g]||u[g]||r;return n?a.createElement(c,l(l({ref:t},p),{},{components:n})):a.createElement(c,l({ref:t},p))}));function c(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=g;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[m]="string"==typeof e?e:i,l[1]=s;for(var d=2;d<r;d++)l[d]=n[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},14946:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>d,toc:()=>m});var a=n(87462),i=n(63366),r=(n(67294),n(3905)),l=["components"],s={id:"native-batch-simple-task",title:"JSON-based batch simple task indexing",sidebar_label:"JSON-based batch (simple)"},o=void 0,d={unversionedId:"ingestion/native-batch-simple-task",id:"ingestion/native-batch-simple-task",title:"JSON-based batch simple task indexing",description:"\x3c!--",source:"@site/docs/28.0.0/ingestion/native-batch-simple-task.md",sourceDirName:"ingestion",slug:"/ingestion/native-batch-simple-task",permalink:"/docs/28.0.0/ingestion/native-batch-simple-task",draft:!1,tags:[],version:"current",frontMatter:{id:"native-batch-simple-task",title:"JSON-based batch simple task indexing",sidebar_label:"JSON-based batch (simple)"}},p={},m=[{value:"Simple task example",id:"simple-task-example",level:2},{value:"Simple task configuration",id:"simple-task-configuration",level:2},{value:"<code>dataSchema</code>",id:"dataschema",level:3},{value:"<code>ioConfig</code>",id:"ioconfig",level:3},{value:"<code>tuningConfig</code>",id:"tuningconfig",level:3},{value:"<code>partitionsSpec</code>",id:"partitionsspec",level:3},{value:"Segment pushing modes",id:"segment-pushing-modes",level:2}],u={toc:m},g="wrapper";function c(e){var t=e.components,n=(0,i.Z)(e,l);return(0,r.kt)(g,(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"}," This page describes native batch ingestion using ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/ingestion-spec"},"ingestion specs"),". Refer to the ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/#batch"},"ingestion\nmethods")," table to determine which ingestion method is right for you.")),(0,r.kt)("p",null,"The simple task (",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/tasks"},"task type")," ",(0,r.kt)("inlineCode",{parentName:"p"},"index"),") executes single-threaded as a single task within the indexing service. For parallel, scalable options consider using ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/native-batch"},(0,r.kt)("inlineCode",{parentName:"a"},"index_parallel")," tasks")," or ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/multi-stage-query/"},"SQL-based batch ingestion"),"."),(0,r.kt)("h2",{id:"simple-task-example"},"Simple task example"),(0,r.kt)("p",null,"A sample task is shown below:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n  "type" : "index",\n  "spec" : {\n    "dataSchema" : {\n      "dataSource" : "wikipedia",\n      "timestampSpec" : {\n        "column" : "timestamp",\n        "format" : "auto"\n      },\n      "dimensionsSpec" : {\n        "dimensions": ["country", "page","language","user","unpatrolled","newPage","robot","anonymous","namespace","continent","region","city"],\n        "dimensionExclusions" : []\n      },\n      "metricsSpec" : [\n        {\n          "type" : "count",\n          "name" : "count"\n        },\n        {\n          "type" : "doubleSum",\n          "name" : "added",\n          "fieldName" : "added"\n        },\n        {\n          "type" : "doubleSum",\n          "name" : "deleted",\n          "fieldName" : "deleted"\n        },\n        {\n          "type" : "doubleSum",\n          "name" : "delta",\n          "fieldName" : "delta"\n        }\n      ],\n      "granularitySpec" : {\n        "type" : "uniform",\n        "segmentGranularity" : "DAY",\n        "queryGranularity" : "NONE",\n        "intervals" : [ "2013-08-31/2013-09-01" ]\n      }\n    },\n    "ioConfig" : {\n      "type" : "index",\n      "inputSource" : {\n        "type" : "local",\n        "baseDir" : "examples/indexing/",\n        "filter" : "wikipedia_data.json"\n       },\n       "inputFormat": {\n         "type": "json"\n       }\n    },\n    "tuningConfig" : {\n      "type" : "index",\n      "partitionsSpec": {\n        "type": "single_dim",\n        "partitionDimension": "country",\n        "targetRowsPerSegment": 5000000\n      }\n    }\n  }\n}\n')),(0,r.kt)("h2",{id:"simple-task-configuration"},"Simple task configuration"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"property"),(0,r.kt)("th",{parentName:"tr",align:null},"description"),(0,r.kt)("th",{parentName:"tr",align:null},"required?"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"The task type, this should always be ",(0,r.kt)("inlineCode",{parentName:"td"},"index"),"."),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"The task ID. If this is not explicitly specified, Druid generates the task ID using task type, data source name, interval, and date-time stamp."),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"spec"),(0,r.kt)("td",{parentName:"tr",align:null},"The ingestion spec including the ",(0,r.kt)("a",{parentName:"td",href:"#dataschema"},"data schema"),", ",(0,r.kt)("a",{parentName:"td",href:"#ioconfig"},"IO config"),", and ",(0,r.kt)("a",{parentName:"td",href:"#tuningconfig"},"tuning config"),"."),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"context"),(0,r.kt)("td",{parentName:"tr",align:null},"Context to specify various task configuration parameters. See ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/tasks#context-parameters"},"Task context parameters")," for more details."),(0,r.kt)("td",{parentName:"tr",align:null},"no")))),(0,r.kt)("h3",{id:"dataschema"},(0,r.kt)("inlineCode",{parentName:"h3"},"dataSchema")),(0,r.kt)("p",null,"This field is required."),(0,r.kt)("p",null,"See the ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/ingestion-spec#dataschema"},(0,r.kt)("inlineCode",{parentName:"a"},"dataSchema"))," section of the ingestion docs for details."),(0,r.kt)("p",null,"If you do not specify ",(0,r.kt)("inlineCode",{parentName:"p"},"intervals")," explicitly in your dataSchema's granularitySpec, the Local Index Task will do an extra\npass over the data to determine the range to lock when it starts up.  If you specify ",(0,r.kt)("inlineCode",{parentName:"p"},"intervals")," explicitly, any rows\noutside the specified intervals will be thrown away. We recommend setting ",(0,r.kt)("inlineCode",{parentName:"p"},"intervals")," explicitly if you know the time\nrange of the data because it allows the task to skip the extra pass, and so that you don't accidentally replace data outside\nthat range if there's some stray data with unexpected timestamps."),(0,r.kt)("h3",{id:"ioconfig"},(0,r.kt)("inlineCode",{parentName:"h3"},"ioConfig")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"property"),(0,r.kt)("th",{parentName:"tr",align:null},"description"),(0,r.kt)("th",{parentName:"tr",align:null},"default"),(0,r.kt)("th",{parentName:"tr",align:null},"required?"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},'The task type, this should always be "index".'),(0,r.kt)("td",{parentName:"tr",align:null},"none"),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"inputFormat"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/data-formats#input-format"},(0,r.kt)("inlineCode",{parentName:"a"},"inputFormat"))," to specify how to parse input data."),(0,r.kt)("td",{parentName:"tr",align:null},"none"),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"appendToExisting"),(0,r.kt)("td",{parentName:"tr",align:null},"Creates segments as additional shards of the latest version, effectively appending to the segment set instead of replacing it. This means that you can append new segments to any datasource regardless of its original partitioning scheme. You must use the ",(0,r.kt)("inlineCode",{parentName:"td"},"dynamic")," partitioning type for the appended segments. If you specify a different partitioning type, the task fails with an error."),(0,r.kt)("td",{parentName:"tr",align:null},"false"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"dropExisting"),(0,r.kt)("td",{parentName:"tr",align:null},"If this setting is ",(0,r.kt)("inlineCode",{parentName:"td"},"false")," then ingestion proceeds as usual. Set this to ",(0,r.kt)("inlineCode",{parentName:"td"},"true")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"appendToExisting")," to ",(0,r.kt)("inlineCode",{parentName:"td"},"false"),' to enforce true "replace" functionality as described next. If ',(0,r.kt)("inlineCode",{parentName:"td"},"true")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"appendToExisting")," is ",(0,r.kt)("inlineCode",{parentName:"td"},"false")," and the ",(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec")," contains at least one",(0,r.kt)("inlineCode",{parentName:"td"},"interval"),", then the ingestion task will create regular segments for time chunk intervals with input data and ",(0,r.kt)("inlineCode",{parentName:"td"},"tombstones"),' for all other time chunks with no data. The task will publish the data segments and the tombstone segments together when the it publishes new segments. The net effect of the data segments and the tombstones is to completely adhere to a "replace" semantics where the  input data contained in the ',(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec")," intervals replaces all existing data in the intervals even for time chunks that would be empty in the case that no input data was associated with them. In the extreme case when the input data set that falls in the ",(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec")," intervals is empty all existing data in the interval will be replaced with an empty data set (i.e. with nothing -- all existing data will be covered by ",(0,r.kt)("inlineCode",{parentName:"td"},"tombstones"),"). If ingestion fails, no segments and tombstones will be published. The following two combinations are not supported and will make the ingestion fail with an error: ",(0,r.kt)("inlineCode",{parentName:"td"},"dropExisting")," is ",(0,r.kt)("inlineCode",{parentName:"td"},"true")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"interval")," is not specified in ",(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec")," or  ",(0,r.kt)("inlineCode",{parentName:"td"},"appendToExisting")," is true and ",(0,r.kt)("inlineCode",{parentName:"td"},"dropExisting")," is ",(0,r.kt)("inlineCode",{parentName:"td"},"true"),". WARNING: this functionality is still in beta and even though we are not aware of any bugs, use with caution."),(0,r.kt)("td",{parentName:"tr",align:null},"false"),(0,r.kt)("td",{parentName:"tr",align:null},"no")))),(0,r.kt)("h3",{id:"tuningconfig"},(0,r.kt)("inlineCode",{parentName:"h3"},"tuningConfig")),(0,r.kt)("p",null,"The tuningConfig is optional and default parameters will be used if no tuningConfig is specified. See below for more details."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"property"),(0,r.kt)("th",{parentName:"tr",align:null},"description"),(0,r.kt)("th",{parentName:"tr",align:null},"default"),(0,r.kt)("th",{parentName:"tr",align:null},"required?"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},'The task type, this should always be "index".'),(0,r.kt)("td",{parentName:"tr",align:null},"none"),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxRowsInMemory"),(0,r.kt)("td",{parentName:"tr",align:null},"Used in determining when intermediate persists to disk should occur. Normally user does not need to set this, but depending on the nature of data, if rows are short in terms of bytes, user may not want to store a million rows in memory and this value should be set."),(0,r.kt)("td",{parentName:"tr",align:null},"1000000"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxBytesInMemory"),(0,r.kt)("td",{parentName:"tr",align:null},"Used in determining when intermediate persists to disk should occur. Normally this is computed internally and user does not need to set it. This value represents number of bytes to aggregate in heap memory before persisting. This is based on a rough estimate of memory usage and not actual usage. The maximum heap memory usage for indexing is maxBytesInMemory * (2 + maxPendingPersists). Note that ",(0,r.kt)("inlineCode",{parentName:"td"},"maxBytesInMemory")," also includes heap usage of artifacts created from intermediary persists. This means that after every persist, the amount of ",(0,r.kt)("inlineCode",{parentName:"td"},"maxBytesInMemory")," until next persist will decreases, and task will fail when the sum of bytes of all intermediary persisted artifacts exceeds ",(0,r.kt)("inlineCode",{parentName:"td"},"maxBytesInMemory"),"."),(0,r.kt)("td",{parentName:"tr",align:null},"1/6 of max JVM memory"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxTotalRows"),(0,r.kt)("td",{parentName:"tr",align:null},"Deprecated. Use ",(0,r.kt)("inlineCode",{parentName:"td"},"partitionsSpec")," instead. Total number of rows in segments waiting for being pushed. Used in determining when intermediate pushing should occur."),(0,r.kt)("td",{parentName:"tr",align:null},"20000000"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"numShards"),(0,r.kt)("td",{parentName:"tr",align:null},"Deprecated. Use ",(0,r.kt)("inlineCode",{parentName:"td"},"partitionsSpec")," instead. Directly specify the number of shards to create. If this is specified and ",(0,r.kt)("inlineCode",{parentName:"td"},"intervals")," is specified in the ",(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec"),", the index task can skip the determine intervals/partitions pass through the data."),(0,r.kt)("td",{parentName:"tr",align:null},"null"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"partitionDimensions"),(0,r.kt)("td",{parentName:"tr",align:null},"Deprecated. Use ",(0,r.kt)("inlineCode",{parentName:"td"},"partitionsSpec")," instead. The dimensions to partition on. Leave blank to select all dimensions. Only used with ",(0,r.kt)("inlineCode",{parentName:"td"},"forceGuaranteedRollup")," = true, will be ignored otherwise."),(0,r.kt)("td",{parentName:"tr",align:null},"null"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"partitionsSpec"),(0,r.kt)("td",{parentName:"tr",align:null},"Defines how to partition data in each timeChunk, see ",(0,r.kt)("a",{parentName:"td",href:"#partitionsspec"},"PartitionsSpec")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"dynamic")," if ",(0,r.kt)("inlineCode",{parentName:"td"},"forceGuaranteedRollup")," = false, ",(0,r.kt)("inlineCode",{parentName:"td"},"hashed")," if ",(0,r.kt)("inlineCode",{parentName:"td"},"forceGuaranteedRollup")," = true"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"indexSpec"),(0,r.kt)("td",{parentName:"tr",align:null},"Defines segment storage format options to be used at indexing time, see ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/ingestion-spec#indexspec"},"IndexSpec")),(0,r.kt)("td",{parentName:"tr",align:null},"null"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"indexSpecForIntermediatePersists"),(0,r.kt)("td",{parentName:"tr",align:null},"Defines segment storage format options to be used at indexing time for intermediate persisted temporary segments. This can be used to disable dimension/metric compression on intermediate segments to reduce memory required for final merging. However, disabling compression on intermediate segments might increase page cache use while they are used before getting merged into final segment published, see ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/ingestion-spec#indexspec"},"IndexSpec")," for possible values."),(0,r.kt)("td",{parentName:"tr",align:null},"same as indexSpec"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxPendingPersists"),(0,r.kt)("td",{parentName:"tr",align:null},"Maximum number of persists that can be pending but not started. If this limit would be exceeded by a new intermediate persist, ingestion will block until the currently-running persist finishes. Maximum heap memory usage for indexing scales with maxRowsInMemory * (2 + maxPendingPersists)."),(0,r.kt)("td",{parentName:"tr",align:null},"0 (meaning one persist can be running concurrently with ingestion, and none can be queued up)"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"forceGuaranteedRollup"),(0,r.kt)("td",{parentName:"tr",align:null},"Forces guaranteeing the ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/rollup"},"perfect rollup"),". The perfect rollup optimizes the total size of generated segments and querying time while indexing time will be increased. If this is set to true, the index task will read the entire input data twice: one for finding the optimal number of partitions per time chunk and one for generating segments. Note that the result segments would be hash-partitioned. This flag cannot be used with ",(0,r.kt)("inlineCode",{parentName:"td"},"appendToExisting")," of IOConfig. For more details, see the below ",(0,r.kt)("strong",{parentName:"td"},"Segment pushing modes")," section."),(0,r.kt)("td",{parentName:"tr",align:null},"false"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"reportParseExceptions"),(0,r.kt)("td",{parentName:"tr",align:null},"DEPRECATED. If true, exceptions encountered during parsing will be thrown and will halt ingestion; if false, unparseable rows and fields will be skipped. Setting ",(0,r.kt)("inlineCode",{parentName:"td"},"reportParseExceptions")," to true will override existing configurations for ",(0,r.kt)("inlineCode",{parentName:"td"},"maxParseExceptions")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"maxSavedParseExceptions"),", setting ",(0,r.kt)("inlineCode",{parentName:"td"},"maxParseExceptions")," to 0 and limiting ",(0,r.kt)("inlineCode",{parentName:"td"},"maxSavedParseExceptions")," to no more than 1."),(0,r.kt)("td",{parentName:"tr",align:null},"false"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pushTimeout"),(0,r.kt)("td",{parentName:"tr",align:null},"Milliseconds to wait for pushing segments. It must be >= 0, where 0 means to wait forever."),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"segmentWriteOutMediumFactory"),(0,r.kt)("td",{parentName:"tr",align:null},"Segment write-out medium to use when creating segments. See ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/native-batch#segmentwriteoutmediumfactory"},"SegmentWriteOutMediumFactory"),"."),(0,r.kt)("td",{parentName:"tr",align:null},"Not specified, the value from ",(0,r.kt)("inlineCode",{parentName:"td"},"druid.peon.defaultSegmentWriteOutMediumFactory.type")," is used"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"logParseExceptions"),(0,r.kt)("td",{parentName:"tr",align:null},"If true, log an error message when a parsing exception occurs, containing information about the row where the error occurred."),(0,r.kt)("td",{parentName:"tr",align:null},"false"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxParseExceptions"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum number of parse exceptions that can occur before the task halts ingestion and fails. Overridden if ",(0,r.kt)("inlineCode",{parentName:"td"},"reportParseExceptions")," is set."),(0,r.kt)("td",{parentName:"tr",align:null},"unlimited"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxSavedParseExceptions"),(0,r.kt)("td",{parentName:"tr",align:null},'When a parse exception occurs, Druid can keep track of the most recent parse exceptions. "maxSavedParseExceptions" limits how many exception instances will be saved. These saved exceptions will be made available after the task finishes in the ',(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/tasks#task-reports"},"task completion report"),". Overridden if ",(0,r.kt)("inlineCode",{parentName:"td"},"reportParseExceptions")," is set."),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"no")))),(0,r.kt)("h3",{id:"partitionsspec"},(0,r.kt)("inlineCode",{parentName:"h3"},"partitionsSpec")),(0,r.kt)("p",null,"PartitionsSpec is to describe the secondary partitioning method.\nYou should use different partitionsSpec depending on the ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/rollup"},"rollup mode")," you want.\nFor perfect rollup, you should use ",(0,r.kt)("inlineCode",{parentName:"p"},"hashed"),"."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"property"),(0,r.kt)("th",{parentName:"tr",align:null},"description"),(0,r.kt)("th",{parentName:"tr",align:null},"default"),(0,r.kt)("th",{parentName:"tr",align:null},"required?"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"This should always be ",(0,r.kt)("inlineCode",{parentName:"td"},"hashed")),(0,r.kt)("td",{parentName:"tr",align:null},"none"),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxRowsPerSegment"),(0,r.kt)("td",{parentName:"tr",align:null},"Used in sharding. Determines how many rows are in each segment."),(0,r.kt)("td",{parentName:"tr",align:null},"5000000"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"numShards"),(0,r.kt)("td",{parentName:"tr",align:null},"Directly specify the number of shards to create. If this is specified and ",(0,r.kt)("inlineCode",{parentName:"td"},"intervals")," is specified in the ",(0,r.kt)("inlineCode",{parentName:"td"},"granularitySpec"),", the index task can skip the determine intervals/partitions pass through the data. ",(0,r.kt)("inlineCode",{parentName:"td"},"numShards")," cannot be specified if ",(0,r.kt)("inlineCode",{parentName:"td"},"maxRowsPerSegment")," is set."),(0,r.kt)("td",{parentName:"tr",align:null},"null"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"partitionDimensions"),(0,r.kt)("td",{parentName:"tr",align:null},"The dimensions to partition on. Leave blank to select all dimensions."),(0,r.kt)("td",{parentName:"tr",align:null},"null"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"partitionFunction"),(0,r.kt)("td",{parentName:"tr",align:null},"A function to compute hash of partition dimensions. See ",(0,r.kt)("a",{parentName:"td",href:"/docs/28.0.0/ingestion/native-batch#hash-partition-function"},"Hash partition function")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"murmur3_32_abs")),(0,r.kt)("td",{parentName:"tr",align:null},"no")))),(0,r.kt)("p",null,"For best-effort rollup, you should use ",(0,r.kt)("inlineCode",{parentName:"p"},"dynamic"),"."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"property"),(0,r.kt)("th",{parentName:"tr",align:null},"description"),(0,r.kt)("th",{parentName:"tr",align:null},"default"),(0,r.kt)("th",{parentName:"tr",align:null},"required?"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"This should always be ",(0,r.kt)("inlineCode",{parentName:"td"},"dynamic")),(0,r.kt)("td",{parentName:"tr",align:null},"none"),(0,r.kt)("td",{parentName:"tr",align:null},"yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxRowsPerSegment"),(0,r.kt)("td",{parentName:"tr",align:null},"Used in sharding. Determines how many rows are in each segment."),(0,r.kt)("td",{parentName:"tr",align:null},"5000000"),(0,r.kt)("td",{parentName:"tr",align:null},"no")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"maxTotalRows"),(0,r.kt)("td",{parentName:"tr",align:null},"Total number of rows in segments waiting for being pushed."),(0,r.kt)("td",{parentName:"tr",align:null},"20000000"),(0,r.kt)("td",{parentName:"tr",align:null},"no")))),(0,r.kt)("h2",{id:"segment-pushing-modes"},"Segment pushing modes"),(0,r.kt)("p",null,"While ingesting data using the simple task indexing, Druid creates segments from the input data and pushes them. For segment pushing,\nthe simple task index supports the following segment pushing modes based upon your type of ",(0,r.kt)("a",{parentName:"p",href:"/docs/28.0.0/ingestion/rollup"},"rollup"),":"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Bulk pushing mode: Used for perfect rollup. Druid pushes every segment at the very end of the index task. Until then, Druid stores created segments in memory and local storage of the service running the index task. This mode can cause problems if you have limited storage capacity, and is not recommended to use in production.\nTo enable bulk pushing mode, set ",(0,r.kt)("inlineCode",{parentName:"li"},"forceGuaranteedRollup")," in your TuningConfig. You can not use bulk pushing with ",(0,r.kt)("inlineCode",{parentName:"li"},"appendToExisting")," in your IOConfig."),(0,r.kt)("li",{parentName:"ul"},"Incremental pushing mode: Used for best-effort rollup. Druid pushes segments are incrementally during the course of the indexing task. The index task collects data and stores created segments in the memory and disks of the services running the task until the total number of collected rows exceeds ",(0,r.kt)("inlineCode",{parentName:"li"},"maxTotalRows"),". At that point the index task immediately pushes all segments created up until that moment, cleans up pushed segments, and continues to ingest the remaining data.")))}c.isMDXComponent=!0}}]);