"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[313],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),s=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=s(a),g=r,c=u["".concat(d,".").concat(g)]||u[g]||m[g]||i;return a?n.createElement(c,l(l({ref:t},p),{},{components:a})):n.createElement(c,l({ref:t},p))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=g;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[u]="string"==typeof e?e:r,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},16969:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>d,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var n=a(87462),r=a(63366),i=(a(67294),a(3905)),l=["components"],o={id:"hadoop",title:"Hadoop-based ingestion",sidebar_label:"Hadoop-based"},d=void 0,s={unversionedId:"ingestion/hadoop",id:"ingestion/hadoop",title:"Hadoop-based ingestion",description:"\x3c!--",source:"@site/docs/27.0.0/ingestion/hadoop.md",sourceDirName:"ingestion",slug:"/ingestion/hadoop",permalink:"/docs/27.0.0/ingestion/hadoop",draft:!1,tags:[],version:"current",frontMatter:{id:"hadoop",title:"Hadoop-based ingestion",sidebar_label:"Hadoop-based"},sidebar:"docs",previous:{title:"JSON-based batch",permalink:"/docs/27.0.0/ingestion/native-batch"},next:{title:"Ingestion spec reference",permalink:"/docs/27.0.0/ingestion/ingestion-spec"}},p={},u=[{value:"Tutorial",id:"tutorial",level:2},{value:"Task syntax",id:"task-syntax",level:2},{value:"<code>dataSchema</code>",id:"dataschema",level:2},{value:"<code>ioConfig</code>",id:"ioconfig",level:2},{value:"<code>inputSpec</code>",id:"inputspec",level:3},{value:"<code>static</code>",id:"static",level:4},{value:"<code>granularity</code>",id:"granularity",level:4},{value:"<code>dataSource</code>",id:"datasource",level:4},{value:"<code>multi</code>",id:"multi",level:4},{value:"<code>tuningConfig</code>",id:"tuningconfig",level:2},{value:"<code>jobProperties</code>",id:"jobproperties",level:3},{value:"<code>partitionsSpec</code>",id:"partitionsspec",level:2},{value:"Hash-based partitioning",id:"hash-based-partitioning",level:3},{value:"Hash partition function",id:"hash-partition-function",level:5},{value:"Single-dimension range partitioning",id:"single-dimension-range-partitioning",level:3},{value:"Remote Hadoop clusters",id:"remote-hadoop-clusters",level:2},{value:"Elastic MapReduce",id:"elastic-mapreduce",level:2},{value:"Kerberized Hadoop clusters",id:"kerberized-hadoop-clusters",level:2},{value:"Loading from S3 with EMR",id:"loading-from-s3-with-emr",level:3},{value:"Using other Hadoop distributions",id:"using-other-hadoop-distributions",level:2},{value:"Command line (non-task) version",id:"command-line-non-task-version",level:2},{value:"Options",id:"options",level:3},{value:"Spec file",id:"spec-file",level:3},{value:"Metadata Update Job Spec",id:"metadata-update-job-spec",level:4},{value:"segmentOutputPath Config",id:"segmentoutputpath-config",level:4},{value:"workingPath Config",id:"workingpath-config",level:4}],m={toc:u},g="wrapper";function c(e){var t=e.components,a=(0,r.Z)(e,l);return(0,i.kt)(g,(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Apache Hadoop-based batch ingestion in Apache Druid is supported via a Hadoop-ingestion task. These tasks can be posted to a running\ninstance of a Druid ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/design/overlord"},"Overlord"),". Please refer to our ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/ingestion/#batch"},"Hadoop-based vs. native batch comparison table")," for\ncomparisons between Hadoop-based, native batch (simple), and native batch (parallel) ingestion."),(0,i.kt)("p",null,"To run a Hadoop-based ingestion task, write an ingestion spec as specified below. Then POST it to the\n",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/api-reference/tasks-api"},(0,i.kt)("inlineCode",{parentName:"a"},"/druid/indexer/v1/task"))," endpoint on the Overlord, or use the\n",(0,i.kt)("inlineCode",{parentName:"p"},"bin/post-index-task")," script included with Druid."),(0,i.kt)("h2",{id:"tutorial"},"Tutorial"),(0,i.kt)("p",null,"This page contains reference documentation for Hadoop-based ingestion.\nFor a walk-through instead, check out the ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/tutorials/tutorial-batch-hadoop"},"Loading from Apache Hadoop")," tutorial."),(0,i.kt)("h2",{id:"task-syntax"},"Task syntax"),(0,i.kt)("p",null,"A sample task is shown below:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n  "type" : "index_hadoop",\n  "spec" : {\n    "dataSchema" : {\n      "dataSource" : "wikipedia",\n      "parser" : {\n        "type" : "hadoopyString",\n        "parseSpec" : {\n          "format" : "json",\n          "timestampSpec" : {\n            "column" : "timestamp",\n            "format" : "auto"\n          },\n          "dimensionsSpec" : {\n            "dimensions": ["page","language","user","unpatrolled","newPage","robot","anonymous","namespace","continent","country","region","city"],\n            "dimensionExclusions" : [],\n            "spatialDimensions" : []\n          }\n        }\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" : "hadoop",\n      "inputSpec" : {\n        "type" : "static",\n        "paths" : "/MyDirectory/example/wikipedia_data.json"\n      }\n    },\n    "tuningConfig" : {\n      "type": "hadoop"\n    }\n  },\n  "hadoopDependencyCoordinates": <my_hadoop_version>\n}\n')),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"property"),(0,i.kt)("th",{parentName:"tr",align:null},"description"),(0,i.kt)("th",{parentName:"tr",align:null},"required?"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},'The task type, this should always be "index_hadoop".'),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"spec"),(0,i.kt)("td",{parentName:"tr",align:null},"A Hadoop Index Spec. See ",(0,i.kt)("a",{parentName:"td",href:"/docs/27.0.0/ingestion/"},"Ingestion")),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"hadoopDependencyCoordinates"),(0,i.kt)("td",{parentName:"tr",align:null},"A JSON array of Hadoop dependency coordinates that Druid will use, this property will override the default Hadoop coordinates. Once specified, Druid will look for those Hadoop dependencies from the location specified by ",(0,i.kt)("inlineCode",{parentName:"td"},"druid.extensions.hadoopDependenciesDir")),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"classpathPrefix"),(0,i.kt)("td",{parentName:"tr",align:null},"Classpath that will be prepended for the Peon process."),(0,i.kt)("td",{parentName:"tr",align:null},"no")))),(0,i.kt)("p",null,"Also note that Druid automatically computes the classpath for Hadoop job containers that run in the Hadoop cluster. But in case of conflicts between Hadoop and Druid's dependencies, you can manually specify the classpath by setting ",(0,i.kt)("inlineCode",{parentName:"p"},"druid.extensions.hadoopContainerDruidClasspath")," property. See the extensions config in ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/configuration/#extensions"},"base druid configuration"),"."),(0,i.kt)("h2",{id:"dataschema"},(0,i.kt)("inlineCode",{parentName:"h2"},"dataSchema")),(0,i.kt)("p",null,"This field is required. See the ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/ingestion/ingestion-spec#legacy-dataschema-spec"},(0,i.kt)("inlineCode",{parentName:"a"},"dataSchema"))," section of the main ingestion page for details on\nwhat it should contain."),(0,i.kt)("h2",{id:"ioconfig"},(0,i.kt)("inlineCode",{parentName:"h2"},"ioConfig")),(0,i.kt)("p",null,"This field is required."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"This should always be 'hadoop'."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"inputSpec"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.kt)("td",{parentName:"tr",align:null},"A specification of where to pull the data in from. See below."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"segmentOutputPath"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"The path to dump segments into."),(0,i.kt)("td",{parentName:"tr",align:null},"Only used by the ",(0,i.kt)("a",{parentName:"td",href:"#cli"},"Command-line Hadoop indexer"),". This field must be null otherwise.")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"metadataUpdateSpec"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.kt)("td",{parentName:"tr",align:null},"A specification of how to update the metadata for the druid cluster these segments belong to."),(0,i.kt)("td",{parentName:"tr",align:null},"Only used by the ",(0,i.kt)("a",{parentName:"td",href:"#cli"},"Command-line Hadoop indexer"),". This field must be null otherwise.")))),(0,i.kt)("h3",{id:"inputspec"},(0,i.kt)("inlineCode",{parentName:"h3"},"inputSpec")),(0,i.kt)("p",null,"There are multiple types of inputSpecs:"),(0,i.kt)("h4",{id:"static"},(0,i.kt)("inlineCode",{parentName:"h4"},"static")),(0,i.kt)("p",null,"A type of inputSpec where a static path to the data files is provided."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"inputFormat"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Specifies the Hadoop InputFormat class to use. e.g. ",(0,i.kt)("inlineCode",{parentName:"td"},"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat")),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"paths"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Comma-separated input paths to the raw data. Druid ingests data only from the configured paths. It does not search recursively for data in subdirectories."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")))),(0,i.kt)("p",null,"For example, using the static input paths:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"paths" : "hdfs://path/to/data/is/here/data.gz,hdfs://path/to/data/is/here/moredata.gz,hdfs://path/to/data/is/here/evenmoredata.gz"\n')),(0,i.kt)("p",null,"You can also read from cloud storage such as AWS S3 or Google Cloud Storage.\nTo do so, you need to install the necessary library under Druid's classpath in ",(0,i.kt)("em",{parentName:"p"},"all MiddleManager or Indexer processes"),".\nFor S3, you can run the below command to install the ",(0,i.kt)("a",{parentName:"p",href:"https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/"},"Hadoop AWS module"),"."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'java -classpath "${DRUID_HOME}lib/*" org.apache.druid.cli.Main tools pull-deps -h "org.apache.hadoop:hadoop-aws:${HADOOP_VERSION}";\ncp ${DRUID_HOME}/hadoop-dependencies/hadoop-aws/${HADOOP_VERSION}/hadoop-aws-${HADOOP_VERSION}.jar ${DRUID_HOME}/extensions/druid-hdfs-storage/\n')),(0,i.kt)("p",null,"Once you install the Hadoop AWS module in all MiddleManager and Indexer processes, you can put\nyour S3 paths in the inputSpec with the below job properties.\nFor more configurations, see the ",(0,i.kt)("a",{parentName:"p",href:"https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/"},"Hadoop AWS module"),"."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"paths" : "s3a://billy-bucket/the/data/is/here/data.gz,s3a://billy-bucket/the/data/is/here/moredata.gz,s3a://billy-bucket/the/data/is/here/evenmoredata.gz"\n')),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'"jobProperties" : {\n  "fs.s3a.impl" : "org.apache.hadoop.fs.s3a.S3AFileSystem",\n  "fs.AbstractFileSystem.s3a.impl" : "org.apache.hadoop.fs.s3a.S3A",\n  "fs.s3a.access.key" : "YOUR_ACCESS_KEY",\n  "fs.s3a.secret.key" : "YOUR_SECRET_KEY"\n}\n')),(0,i.kt)("p",null,"For Google Cloud Storage, you need to install ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/GoogleCloudPlatform/bigdata-interop/blob/master/gcs/INSTALL.md"},"GCS connector jar"),"\nunder ",(0,i.kt)("inlineCode",{parentName:"p"},"${DRUID_HOME}/hadoop-dependencies")," in ",(0,i.kt)("em",{parentName:"p"},"all MiddleManager or Indexer processes"),".\nOnce you install the GCS Connector jar in all MiddleManager and Indexer processes, you can put\nyour Google Cloud Storage paths in the inputSpec with the below job properties.\nFor more configurations, see the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/GoogleCloudPlatform/bigdata-interop/blob/master/gcs/INSTALL.md#configure-hadoop"},"instructions to configure Hadoop"),",\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/GoogleCloudDataproc/hadoop-connectors/blob/v2.0.0/gcs/conf/gcs-core-default.xml"},"GCS core default"),"\nand ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/GoogleCloudPlatform/bdutil/blob/master/conf/hadoop2/gcs-core-template.xml"},"GCS core template"),"."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"paths" : "gs://billy-bucket/the/data/is/here/data.gz,gs://billy-bucket/the/data/is/here/moredata.gz,gs://billy-bucket/the/data/is/here/evenmoredata.gz"\n')),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'"jobProperties" : {\n  "fs.gs.impl" : "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem",\n  "fs.AbstractFileSystem.gs.impl" : "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS"\n}\n')),(0,i.kt)("h4",{id:"granularity"},(0,i.kt)("inlineCode",{parentName:"h4"},"granularity")),(0,i.kt)("p",null,"A type of inputSpec that expects data to be organized in directories according to datetime using the path format: ",(0,i.kt)("inlineCode",{parentName:"p"},"y=XXXX/m=XX/d=XX/H=XX/M=XX/S=XX")," (where date is represented by lowercase and time is represented by uppercase)."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"dataGranularity"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Specifies the granularity to expect the data at, e.g. hour means to expect directories ",(0,i.kt)("inlineCode",{parentName:"td"},"y=XXXX/m=XX/d=XX/H=XX"),"."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"inputFormat"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Specifies the Hadoop InputFormat class to use. e.g. ",(0,i.kt)("inlineCode",{parentName:"td"},"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat")),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"inputPath"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Base path to append the datetime path to."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"filePattern"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Pattern that files should match to be included."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"pathFormat"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Joda datetime format for each directory. Default value is ",(0,i.kt)("inlineCode",{parentName:"td"},"\"'y'=yyyy/'m'=MM/'d'=dd/'H'=HH\""),", or see ",(0,i.kt)("a",{parentName:"td",href:"http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html"},"Joda documentation")),(0,i.kt)("td",{parentName:"tr",align:null},"no")))),(0,i.kt)("p",null,"For example, if the sample config were run with the interval 2012-06-01/2012-06-02, it would expect data at the paths:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"s3n://billy-bucket/the/data/is/here/y=2012/m=06/d=01/H=00\ns3n://billy-bucket/the/data/is/here/y=2012/m=06/d=01/H=01\n...\ns3n://billy-bucket/the/data/is/here/y=2012/m=06/d=01/H=23\n")),(0,i.kt)("h4",{id:"datasource"},(0,i.kt)("inlineCode",{parentName:"h4"},"dataSource")),(0,i.kt)("p",null,"This is a type of ",(0,i.kt)("inlineCode",{parentName:"p"},"inputSpec"),' that reads data already stored inside Druid. This is used to allow "re-indexing" data and for "delta-ingestion" described later in ',(0,i.kt)("inlineCode",{parentName:"p"},"multi")," type inputSpec."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},"String."),(0,i.kt)("td",{parentName:"tr",align:null},"This should always be 'dataSource'."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"ingestionSpec"),(0,i.kt)("td",{parentName:"tr",align:null},"JSON object."),(0,i.kt)("td",{parentName:"tr",align:null},"Specification of Druid segments to be loaded. See below."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxSplitSize"),(0,i.kt)("td",{parentName:"tr",align:null},"Number"),(0,i.kt)("td",{parentName:"tr",align:null},"Enables combining multiple segments into single Hadoop InputSplit according to size of segments. With -1, druid calculates max split size based on user specified number of map task(mapred.map.tasks or mapreduce.job.maps). By default, one split is made for one segment. maxSplitSize is specified in bytes."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"useNewAggs"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},'If "false", then list of aggregators in "metricsSpec" of hadoop indexing task must be same as that used in original indexing task while ingesting raw data. Default value is "false". This field can be set to "true" when "inputSpec" type is "dataSource" and not "multi" to enable arbitrary aggregators while reindexing. See below for "multi" type support for delta-ingestion.'),(0,i.kt)("td",{parentName:"tr",align:null},"no")))),(0,i.kt)("p",null,"Here is what goes inside ",(0,i.kt)("inlineCode",{parentName:"p"},"ingestionSpec"),":"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"dataSource"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Druid dataSource name from which you are loading the data."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"intervals"),(0,i.kt)("td",{parentName:"tr",align:null},"List"),(0,i.kt)("td",{parentName:"tr",align:null},"A list of strings representing ISO-8601 Intervals."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"segments"),(0,i.kt)("td",{parentName:"tr",align:null},"List"),(0,i.kt)("td",{parentName:"tr",align:null},"List of segments from which to read data from, by default it is obtained automatically. You can obtain list of segments to put here by making a POST query to Coordinator at url /druid/coordinator/v1/metadata/datasources/segments?full with list of intervals specified in the request payload, e.g. ",'["2012-01-01T00:00:00.000/2012-01-03T00:00:00.000", "2012-01-05T00:00:00.000/2012-01-07T00:00:00.000"]',". You may want to provide this list manually in order to ensure that segments read are exactly same as they were at the time of task submission, task would fail if the list provided by the user does not match with state of database when the task actually runs."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"filter"),(0,i.kt)("td",{parentName:"tr",align:null},"JSON"),(0,i.kt)("td",{parentName:"tr",align:null},"See ",(0,i.kt)("a",{parentName:"td",href:"/docs/27.0.0/querying/filters"},"Filters")),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"dimensions"),(0,i.kt)("td",{parentName:"tr",align:null},"Array of String"),(0,i.kt)("td",{parentName:"tr",align:null},"Name of dimension columns to load. By default, the list will be constructed from parseSpec. If parseSpec does not have an explicit list of dimensions then all the dimension columns present in stored data will be read."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"metrics"),(0,i.kt)("td",{parentName:"tr",align:null},"Array of String"),(0,i.kt)("td",{parentName:"tr",align:null},'Name of metric columns to load. By default, the list will be constructed from the "name" of all the configured aggregators.'),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"ignoreWhenNoSegments"),(0,i.kt)("td",{parentName:"tr",align:null},"boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Whether to ignore this ingestionSpec if no segments were found. Default behavior is to throw error when no segments were found."),(0,i.kt)("td",{parentName:"tr",align:null},"no")))),(0,i.kt)("p",null,"For example"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'"ioConfig" : {\n  "type" : "hadoop",\n  "inputSpec" : {\n    "type" : "dataSource",\n    "ingestionSpec" : {\n      "dataSource": "wikipedia",\n      "intervals": ["2014-10-20T00:00:00Z/P2W"]\n    }\n  },\n  ...\n}\n')),(0,i.kt)("h4",{id:"multi"},(0,i.kt)("inlineCode",{parentName:"h4"},"multi")),(0,i.kt)("p",null,"This is a composing inputSpec to combine other inputSpecs. This inputSpec is used for delta ingestion. You can also use a ",(0,i.kt)("inlineCode",{parentName:"p"},"multi"),' inputSpec to combine data from multiple dataSources. However, each particular dataSource can only be specified one time.\nNote that, "useNewAggs" must be set to default value false to support delta-ingestion.'),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"children"),(0,i.kt)("td",{parentName:"tr",align:null},"Array of JSON objects"),(0,i.kt)("td",{parentName:"tr",align:null},"List of JSON objects containing other inputSpecs."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")))),(0,i.kt)("p",null,"For example:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'"ioConfig" : {\n  "type" : "hadoop",\n  "inputSpec" : {\n    "type" : "multi",\n    "children": [\n      {\n        "type" : "dataSource",\n        "ingestionSpec" : {\n          "dataSource": "wikipedia",\n          "intervals": ["2012-01-01T00:00:00.000/2012-01-03T00:00:00.000", "2012-01-05T00:00:00.000/2012-01-07T00:00:00.000"],\n          "segments": [\n            {\n              "dataSource": "test1",\n              "interval": "2012-01-01T00:00:00.000/2012-01-03T00:00:00.000",\n              "version": "v2",\n              "loadSpec": {\n                "type": "local",\n                "path": "/tmp/index1.zip"\n              },\n              "dimensions": "host",\n              "metrics": "visited_sum,unique_hosts",\n              "shardSpec": {\n                "type": "none"\n              },\n              "binaryVersion": 9,\n              "size": 2,\n              "identifier": "test1_2000-01-01T00:00:00.000Z_3000-01-01T00:00:00.000Z_v2"\n            }\n          ]\n        }\n      },\n      {\n        "type" : "static",\n        "paths": "/path/to/more/wikipedia/data/"\n      }\n    ]\n  },\n  ...\n}\n')),(0,i.kt)("p",null,"It is STRONGLY RECOMMENDED to provide list of segments in ",(0,i.kt)("inlineCode",{parentName:"p"},"dataSource")," inputSpec explicitly so that your delta ingestion task is idempotent. You can obtain that list of segments by making following call to the Coordinator.\nPOST ",(0,i.kt)("inlineCode",{parentName:"p"},"/druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments?full"),"\nRequest Body: ","[interval1, interval2,...]"," for example ",'["2012-01-01T00:00:00.000/2012-01-03T00:00:00.000", "2012-01-05T00:00:00.000/2012-01-07T00:00:00.000"]'),(0,i.kt)("h2",{id:"tuningconfig"},(0,i.kt)("inlineCode",{parentName:"h2"},"tuningConfig")),(0,i.kt)("p",null,"The tuningConfig is optional and default parameters will be used if no tuningConfig is specified."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"workingPath"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"The working path to use for intermediate results (results between Hadoop jobs)."),(0,i.kt)("td",{parentName:"tr",align:null},"Only used by the ",(0,i.kt)("a",{parentName:"td",href:"#cli"},"Command-line Hadoop indexer"),". The default is '/tmp/druid-indexing'. This field must be null otherwise.")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"version"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"The version of created segments. Ignored for HadoopIndexTask unless useExplicitVersion is set to true"),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == datetime that indexing starts at)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"partitionsSpec"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.kt)("td",{parentName:"tr",align:null},"A specification of how to partition each time bucket into segments. Absence of this property means no partitioning will occur. See ",(0,i.kt)("a",{parentName:"td",href:"#partitionsspec"},(0,i.kt)("inlineCode",{parentName:"a"},"partitionsSpec"))," below."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == 'hashed')")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxRowsInMemory"),(0,i.kt)("td",{parentName:"tr",align:null},"Integer"),(0,i.kt)("td",{parentName:"tr",align:null},"The number of rows to aggregate before persisting. Note that this is the number of post-aggregation rows which may not be equal to the number of input events due to roll-up. This is used to manage the required JVM heap size. 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,i.kt)("td",{parentName:"tr",align:null},"no (default == 1000000)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxBytesInMemory"),(0,i.kt)("td",{parentName:"tr",align:null},"Long"),(0,i.kt)("td",{parentName:"tr",align:null},"The number of bytes to aggregate in heap memory before persisting. Normally this is computed internally and user does not need to set it. 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,i.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,i.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,i.kt)("inlineCode",{parentName:"td"},"maxBytesInMemory"),"."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == One-sixth of max JVM memory)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"leaveIntermediate"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Leave behind intermediate files (for debugging) in the workingPath when a job completes, whether it passes or fails."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"cleanupOnFailure"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Clean up intermediate files when a job fails (unless leaveIntermediate is on)."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == true)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"overwriteFiles"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Override existing files found during indexing."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"ignoreInvalidRows"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"DEPRECATED. Ignore rows found to have problems. If false, any exception encountered during parsing will be thrown and will halt ingestion; if true, unparseable rows and fields will be skipped. If ",(0,i.kt)("inlineCode",{parentName:"td"},"maxParseExceptions")," is defined, this property is ignored."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"combineText"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Use CombineTextInputFormat to combine multiple files into a file split. This can speed up Hadoop jobs when processing a large number of small files."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"useCombiner"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Use Hadoop combiner to merge rows at mapper if possible."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"jobProperties"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.kt)("td",{parentName:"tr",align:null},"A map of properties to add to the Hadoop job configuration, see below for details."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == null)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"indexSpec"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.kt)("td",{parentName:"tr",align:null},"Tune how data is indexed. See ",(0,i.kt)("a",{parentName:"td",href:"/docs/27.0.0/ingestion/ingestion-spec#indexspec"},(0,i.kt)("inlineCode",{parentName:"a"},"indexSpec"))," on the main ingestion page for more information."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"indexSpecForIntermediatePersists"),(0,i.kt)("td",{parentName:"tr",align:null},"Object"),(0,i.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,i.kt)("a",{parentName:"td",href:"/docs/27.0.0/ingestion/ingestion-spec#indexspec"},(0,i.kt)("inlineCode",{parentName:"a"},"indexSpec"))," for possible values."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default = same as indexSpec)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"numBackgroundPersistThreads"),(0,i.kt)("td",{parentName:"tr",align:null},"Integer"),(0,i.kt)("td",{parentName:"tr",align:null},"The number of new background threads to use for incremental persists. Using this feature causes a notable increase in memory pressure and CPU usage but will make the job finish more quickly. If changing from the default of 0 (use current thread for persists), we recommend setting it to 1."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == 0)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"forceExtendableShardSpecs"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Forces use of extendable shardSpecs. Hash-based partitioning always uses an extendable shardSpec. For single-dimension partitioning, this option should be set to true to use an extendable shardSpec. For partitioning, please check ",(0,i.kt)("a",{parentName:"td",href:"#partitionsspec"},"Partitioning specification"),". This option can be useful when you need to append more data to existing dataSource."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default = false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"useExplicitVersion"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"Forces HadoopIndexTask to use version."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default = false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"logParseExceptions"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.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,i.kt)("td",{parentName:"tr",align:null},"no(default = false)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxParseExceptions"),(0,i.kt)("td",{parentName:"tr",align:null},"Integer"),(0,i.kt)("td",{parentName:"tr",align:null},"The maximum number of parse exceptions that can occur before the task halts ingestion and fails. Overrides ",(0,i.kt)("inlineCode",{parentName:"td"},"ignoreInvalidRows")," if ",(0,i.kt)("inlineCode",{parentName:"td"},"maxParseExceptions")," is defined."),(0,i.kt)("td",{parentName:"tr",align:null},"no(default = unlimited)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"useYarnRMJobStatusFallback"),(0,i.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"If the Hadoop jobs created by the indexing task are unable to retrieve their completion status from the JobHistory server, and this parameter is true, the indexing task will try to fetch the application status from ",(0,i.kt)("inlineCode",{parentName:"td"},"http://<yarn-rm-address>/ws/v1/cluster/apps/<application-id>"),", where ",(0,i.kt)("inlineCode",{parentName:"td"},"<yarn-rm-address>")," is the value of ",(0,i.kt)("inlineCode",{parentName:"td"},"yarn.resourcemanager.webapp.address")," in your Hadoop configuration. This flag is intended as a fallback for cases where an indexing task's jobs succeed, but the JobHistory server is unavailable, causing the indexing task to fail because it cannot determine the job statuses."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default = true)")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"awaitSegmentAvailabilityTimeoutMillis"),(0,i.kt)("td",{parentName:"tr",align:null},"Long"),(0,i.kt)("td",{parentName:"tr",align:null},"Milliseconds to wait for the newly indexed segments to become available for query after ingestion completes. If ",(0,i.kt)("inlineCode",{parentName:"td"},"<= 0"),", no wait will occur. If ",(0,i.kt)("inlineCode",{parentName:"td"},"> 0"),", the task will wait for the Coordinator to indicate that the new segments are available for querying. If the timeout expires, the task will exit as successful, but the segments were not confirmed to have become available for query."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default = 0)")))),(0,i.kt)("h3",{id:"jobproperties"},(0,i.kt)("inlineCode",{parentName:"h3"},"jobProperties")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'   "tuningConfig" : {\n     "type": "hadoop",\n     "jobProperties": {\n       "<hadoop-property-a>": "<value-a>",\n       "<hadoop-property-b>": "<value-b>"\n     }\n   }\n')),(0,i.kt)("p",null,"Hadoop's ",(0,i.kt)("a",{parentName:"p",href:"https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml"},"MapReduce documentation")," lists the possible configuration parameters."),(0,i.kt)("p",null,"With some Hadoop distributions, it may be necessary to set ",(0,i.kt)("inlineCode",{parentName:"p"},"mapreduce.job.classpath")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"mapreduce.job.user.classpath.first"),"\nto avoid class loading issues. See the ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/operations/other-hadoop"},"working with different Hadoop versions documentation"),"\nfor more details."),(0,i.kt)("h2",{id:"partitionsspec"},(0,i.kt)("inlineCode",{parentName:"h2"},"partitionsSpec")),(0,i.kt)("p",null,"Segments are always partitioned based on timestamp (according to the granularitySpec) and may be further partitioned in\nsome other way depending on partition type. Druid supports two types of partitioning strategies: ",(0,i.kt)("inlineCode",{parentName:"p"},"hashed")," (based on the\nhash of all dimensions in each row), and ",(0,i.kt)("inlineCode",{parentName:"p"},"single_dim")," (based on ranges of a single dimension)."),(0,i.kt)("p",null,"Hashed partitioning is recommended in most cases, as it will improve indexing performance and create more uniformly\nsized data segments relative to single-dimension partitioning."),(0,i.kt)("h3",{id:"hash-based-partitioning"},"Hash-based partitioning"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'  "partitionsSpec": {\n     "type": "hashed",\n     "targetRowsPerSegment": 5000000\n   }\n')),(0,i.kt)("p",null,"Hashed partitioning works by first selecting a number of segments, and then partitioning rows across those segments\naccording to the hash of all dimensions in each row. The number of segments is determined automatically based on the\ncardinality of the input set and a target partition size."),(0,i.kt)("p",null,"The configuration options are:"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},"Type of partitionSpec to be used."),(0,i.kt)("td",{parentName:"tr",align:null},'"hashed"')),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"targetRowsPerSegment"),(0,i.kt)("td",{parentName:"tr",align:null},"Target number of rows to include in a partition, should be a number that targets segments of 500MB","~","1GB. Defaults to 5000000 if ",(0,i.kt)("inlineCode",{parentName:"td"},"numShards")," is not set."),(0,i.kt)("td",{parentName:"tr",align:null},"either this or ",(0,i.kt)("inlineCode",{parentName:"td"},"numShards"))),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"targetPartitionSize"),(0,i.kt)("td",{parentName:"tr",align:null},"Deprecated. Renamed to ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment"),". Target number of rows to include in a partition, should be a number that targets segments of 500MB","~","1GB."),(0,i.kt)("td",{parentName:"tr",align:null},"either this or ",(0,i.kt)("inlineCode",{parentName:"td"},"numShards"))),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxRowsPerSegment"),(0,i.kt)("td",{parentName:"tr",align:null},"Deprecated. Renamed to ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment"),". Target number of rows to include in a partition, should be a number that targets segments of 500MB","~","1GB."),(0,i.kt)("td",{parentName:"tr",align:null},"either this or ",(0,i.kt)("inlineCode",{parentName:"td"},"numShards"))),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"numShards"),(0,i.kt)("td",{parentName:"tr",align:null},"Specify the number of partitions directly, instead of a target partition size. Ingestion will run faster, since it can skip the step necessary to select a number of partitions automatically."),(0,i.kt)("td",{parentName:"tr",align:null},"either this or ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment"))),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"partitionDimensions"),(0,i.kt)("td",{parentName:"tr",align:null},"The dimensions to partition on. Leave blank to select all dimensions. Only used with ",(0,i.kt)("inlineCode",{parentName:"td"},"numShards"),", will be ignored when ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment")," is set."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"partitionFunction"),(0,i.kt)("td",{parentName:"tr",align:null},"A function to compute hash of partition dimensions. See ",(0,i.kt)("a",{parentName:"td",href:"#hash-partition-function"},"Hash partition function")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"murmur3_32_abs"))))),(0,i.kt)("h5",{id:"hash-partition-function"},"Hash partition function"),(0,i.kt)("p",null,"In hash partitioning, the partition function is used to compute hash of partition dimensions. The partition dimension\nvalues are first serialized into a byte array as a whole, and then the partition function is applied to compute hash of\nthe byte array.\nDruid currently supports only one partition function."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"name"),(0,i.kt)("th",{parentName:"tr",align:null},"description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"murmur3_32_abs")),(0,i.kt)("td",{parentName:"tr",align:null},"Applies an absolute value function to the result of ",(0,i.kt)("a",{parentName:"td",href:"https://guava.dev/releases/16.0/api/docs/com/google/common/hash/Hashing.html#murmur3_32()"},(0,i.kt)("inlineCode",{parentName:"a"},"murmur3_32")),".")))),(0,i.kt)("h3",{id:"single-dimension-range-partitioning"},"Single-dimension range partitioning"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'  "partitionsSpec": {\n     "type": "single_dim",\n     "targetRowsPerSegment": 5000000\n   }\n')),(0,i.kt)("p",null,'Single-dimension range partitioning works by first selecting a dimension to partition on, and then separating that dimension\ninto contiguous ranges. Each segment will contain all rows with values of that dimension in that range. For example,\nyour segments may be partitioned on the dimension "host" using the ranges "a.example.com" to "f.example.com" and\n"f.example.com" to "z.example.com". By default, the dimension to use is determined automatically, although you can\noverride it with a specific dimension.'),(0,i.kt)("p",null,"The configuration options are:"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},"Type of partitionSpec to be used."),(0,i.kt)("td",{parentName:"tr",align:null},'"single_dim"')),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"targetRowsPerSegment"),(0,i.kt)("td",{parentName:"tr",align:null},"Target number of rows to include in a partition, should be a number that targets segments of 500MB","~","1GB."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"targetPartitionSize"),(0,i.kt)("td",{parentName:"tr",align:null},"Deprecated. Renamed to ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment"),". Target number of rows to include in a partition, should be a number that targets segments of 500MB","~","1GB."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxRowsPerSegment"),(0,i.kt)("td",{parentName:"tr",align:null},"Maximum number of rows to include in a partition. Defaults to 50% larger than the ",(0,i.kt)("inlineCode",{parentName:"td"},"targetRowsPerSegment"),"."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"maxPartitionSize"),(0,i.kt)("td",{parentName:"tr",align:null},"Deprecated. Use ",(0,i.kt)("inlineCode",{parentName:"td"},"maxRowsPerSegment")," instead. Maximum number of rows to include in a partition. Defaults to 50% larger than the ",(0,i.kt)("inlineCode",{parentName:"td"},"targetPartitionSize"),"."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"partitionDimension"),(0,i.kt)("td",{parentName:"tr",align:null},"The dimension to partition on. Leave blank to select a dimension automatically."),(0,i.kt)("td",{parentName:"tr",align:null},"no")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"assumeGrouped"),(0,i.kt)("td",{parentName:"tr",align:null},"Assume that input data has already been grouped on time and dimensions. Ingestion will run faster, but may choose sub-optimal partitions if this assumption is violated."),(0,i.kt)("td",{parentName:"tr",align:null},"no")))),(0,i.kt)("h2",{id:"remote-hadoop-clusters"},"Remote Hadoop clusters"),(0,i.kt)("p",null,"If you have a remote Hadoop cluster, make sure to include the folder holding your configuration ",(0,i.kt)("inlineCode",{parentName:"p"},"*.xml")," files in your Druid ",(0,i.kt)("inlineCode",{parentName:"p"},"_common")," configuration folder."),(0,i.kt)("p",null,"If you are having dependency problems with your version of Hadoop and the version compiled with Druid, please see ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/operations/other-hadoop"},"these docs"),"."),(0,i.kt)("h2",{id:"elastic-mapreduce"},"Elastic MapReduce"),(0,i.kt)("p",null,"If your cluster is running on Amazon Web Services, you can use Elastic MapReduce (EMR) to index data\nfrom S3. To do this:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Create a persistent, ",(0,i.kt)("a",{parentName:"li",href:"http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-plan-longrunning-transient"},"long-running cluster"),"."),(0,i.kt)("li",{parentName:"ul"},'When creating your cluster, enter the following configuration. If you\'re using the wizard, this\nshould be in advanced mode under "Edit software settings":')),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"classification=yarn-site,properties=[mapreduce.reduce.memory.mb=6144,mapreduce.reduce.java.opts=-server -Xms2g -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps,mapreduce.map.java.opts=758,mapreduce.map.java.opts=-server -Xms512m -Xmx512m -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps,mapreduce.task.timeout=1800000]\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Follow the instructions under\n",(0,i.kt)("a",{parentName:"li",href:"/docs/27.0.0/tutorials/cluster#hadoop"},"Configure for connecting to Hadoop")," using the XML files from ",(0,i.kt)("inlineCode",{parentName:"li"},"/etc/hadoop/conf"),"\non your EMR master.")),(0,i.kt)("h2",{id:"kerberized-hadoop-clusters"},"Kerberized Hadoop clusters"),(0,i.kt)("p",null,"By default druid can use the existing TGT kerberos ticket available in local kerberos key cache.\nAlthough TGT ticket has a limited life cycle,\ntherefore you need to call ",(0,i.kt)("inlineCode",{parentName:"p"},"kinit")," command periodically to ensure validity of TGT ticket.\nTo avoid this extra external cron job script calling ",(0,i.kt)("inlineCode",{parentName:"p"},"kinit")," periodically,\nyou can provide the principal name and keytab location and druid will do the authentication transparently at startup and job launching time."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Property"),(0,i.kt)("th",{parentName:"tr",align:null},"Possible Values"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Default"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.hadoop.security.kerberos.principal")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid@EXAMPLE.COM")),(0,i.kt)("td",{parentName:"tr",align:null},"Principal user name"),(0,i.kt)("td",{parentName:"tr",align:null},"empty")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"druid.hadoop.security.kerberos.keytab")),(0,i.kt)("td",{parentName:"tr",align:null},(0,i.kt)("inlineCode",{parentName:"td"},"/etc/security/keytabs/druid.headlessUser.keytab")),(0,i.kt)("td",{parentName:"tr",align:null},"Path to keytab file"),(0,i.kt)("td",{parentName:"tr",align:null},"empty")))),(0,i.kt)("h3",{id:"loading-from-s3-with-emr"},"Loading from S3 with EMR"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"In the ",(0,i.kt)("inlineCode",{parentName:"li"},"jobProperties")," field in the ",(0,i.kt)("inlineCode",{parentName:"li"},"tuningConfig")," section of your Hadoop indexing task, add:")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"jobProperties" : {\n   "fs.s3.awsAccessKeyId" : "YOUR_ACCESS_KEY",\n   "fs.s3.awsSecretAccessKey" : "YOUR_SECRET_KEY",\n   "fs.s3.impl" : "org.apache.hadoop.fs.s3native.NativeS3FileSystem",\n   "fs.s3n.awsAccessKeyId" : "YOUR_ACCESS_KEY",\n   "fs.s3n.awsSecretAccessKey" : "YOUR_SECRET_KEY",\n   "fs.s3n.impl" : "org.apache.hadoop.fs.s3native.NativeS3FileSystem",\n   "io.compression.codecs" : "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec"\n}\n')),(0,i.kt)("p",null,"Note that this method uses Hadoop's built-in S3 filesystem rather than Amazon's EMRFS, and is not compatible\nwith Amazon-specific features such as S3 encryption and consistent views. If you need to use these\nfeatures, you will need to make the Amazon EMR Hadoop JARs available to Druid through one of the\nmechanisms described in the ",(0,i.kt)("a",{parentName:"p",href:"#using-other-hadoop-distributions"},"Using other Hadoop distributions")," section."),(0,i.kt)("h2",{id:"using-other-hadoop-distributions"},"Using other Hadoop distributions"),(0,i.kt)("p",null,"Druid works out of the box with many Hadoop distributions."),(0,i.kt)("p",null,"If you are having dependency conflicts between Druid and your version of Hadoop, you can try\nsearching for a solution in the ",(0,i.kt)("a",{parentName:"p",href:"https://groups.google.com/forum/#!forum/druid-user"},"Druid user groups"),", or reading the\nDruid ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/operations/other-hadoop"},"Different Hadoop Versions")," documentation."),(0,i.kt)("a",{name:"cli"}),(0,i.kt)("h2",{id:"command-line-non-task-version"},"Command line (non-task) version"),(0,i.kt)("p",null,"To run:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"java -Xmx256m -Duser.timezone=UTC -Dfile.encoding=UTF-8 -classpath lib/*:<hadoop_config_dir> org.apache.druid.cli.Main index hadoop <spec_file>\n")),(0,i.kt)("h3",{id:"options"},"Options"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},'"--coordinate" - provide a version of Apache Hadoop to use. This property will override the default Hadoop coordinates. Once specified, Apache Druid will look for those Hadoop dependencies from the location specified by ',(0,i.kt)("inlineCode",{parentName:"li"},"druid.extensions.hadoopDependenciesDir"),"."),(0,i.kt)("li",{parentName:"ul"},'"--no-default-hadoop" - don\'t pull down the default hadoop version')),(0,i.kt)("h3",{id:"spec-file"},"Spec file"),(0,i.kt)("p",null,'The spec file needs to contain a JSON object where the contents are the same as the "spec" field in the Hadoop index task. See ',(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/ingestion/hadoop"},"Hadoop Batch Ingestion")," for details on the spec format."),(0,i.kt)("p",null,"In addition, a ",(0,i.kt)("inlineCode",{parentName:"p"},"metadataUpdateSpec")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"segmentOutputPath")," field needs to be added to the ioConfig:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'      "ioConfig" : {\n        ...\n        "metadataUpdateSpec" : {\n          "type":"mysql",\n          "connectURI" : "jdbc:mysql://localhost:3306/druid",\n          "password" : "diurd",\n          "segmentTable" : "druid_segments",\n          "user" : "druid"\n        },\n        "segmentOutputPath" : "/MyDirectory/data/index/output"\n      },\n')),(0,i.kt)("p",null,"and a ",(0,i.kt)("inlineCode",{parentName:"p"},"workingPath")," field needs to be added to the tuningConfig:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'  "tuningConfig" : {\n   ...\n    "workingPath": "/tmp",\n    ...\n  }\n')),(0,i.kt)("h4",{id:"metadata-update-job-spec"},"Metadata Update Job Spec"),(0,i.kt)("p",null,"This is a specification of the properties that tell the job how to update metadata such that the Druid cluster will see the output segments and load them."),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"type"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},'"metadata" is the only value available.'),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"connectURI"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"A valid JDBC url to metadata storage."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"user"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Username for db."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"password"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"password for db."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"segmentTable"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"Table to use in DB."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")))),(0,i.kt)("p",null,"These properties should parrot what you have configured for your ",(0,i.kt)("a",{parentName:"p",href:"/docs/27.0.0/design/coordinator"},"Coordinator"),"."),(0,i.kt)("h4",{id:"segmentoutputpath-config"},"segmentOutputPath Config"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"segmentOutputPath"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"the path to dump segments into."),(0,i.kt)("td",{parentName:"tr",align:null},"yes")))),(0,i.kt)("h4",{id:"workingpath-config"},"workingPath Config"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Field"),(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Required"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"workingPath"),(0,i.kt)("td",{parentName:"tr",align:null},"String"),(0,i.kt)("td",{parentName:"tr",align:null},"the working path to use for intermediate results (results between Hadoop jobs)."),(0,i.kt)("td",{parentName:"tr",align:null},"no (default == '/tmp/druid-indexing')")))),(0,i.kt)("p",null,"Please note that the command line Hadoop indexer doesn't have the locking capabilities of the indexing service, so if you choose to use it,\nyou have to take caution to not override segments created by real-time processing (if you that a real-time pipeline set up)."))}c.isMDXComponent=!0}}]);