"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1271],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>c});var a=n(7294);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 o(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 s=a.createContext({}),d=function(e){var t=a.useContext(s),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(s.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,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=d(n),g=i,c=m["".concat(s,".").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 o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[m]="string"==typeof e?e:i,l[1]=o;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"},7611:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>d,toc:()=>m});var a=n(7462),i=n(3366),r=(n(7294),n(3905)),l=["components"],o={id:"native-batch-simple-task",title:"Native batch simple task indexing",sidebar_label:"Native batch (simple)"},s=void 0,d={unversionedId:"ingestion/native-batch-simple-task",id:"ingestion/native-batch-simple-task",title:"Native batch simple task indexing",description:"\x3c!--",source:"@site/docs/26.0.0/ingestion/native-batch-simple-task.md",sourceDirName:"ingestion",slug:"/ingestion/native-batch-simple-task",permalink:"/docs/26.0.0/ingestion/native-batch-simple-task",draft:!1,tags:[],version:"current",frontMatter:{id:"native-batch-simple-task",title:"Native batch simple task indexing",sidebar_label:"Native 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)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"This page describes native batch ingestion using ",(0,r.kt)("a",{parentName:"p",href:"/docs/26.0.0/ingestion/ingestion-spec"},"ingestion specs"),". Refer to the ",(0,r.kt)("a",{parentName:"p",href:"/docs/26.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/26.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/26.0.0/ingestion/native-batch"},(0,r.kt)("inlineCode",{parentName:"a"},"index_parallel")," tasks")," or ",(0,r.kt)("a",{parentName:"p",href:"/docs/26.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/26.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/26.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/26.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/26.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/26.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/26.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/26.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/26.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/26.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/26.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/26.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}}]);