"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5708],{15680:(e,n,t)=>{t.d(n,{xA:()=>p,yg:()=>c});var a=t(96540);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var d=a.createContext({}),u=function(e){var n=a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},p=function(e){var n=u(e.components);return a.createElement(d.Provider,{value:n},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,d=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=u(t),g=l,c=s["".concat(d,".").concat(g)]||s[g]||m[g]||r;return t?a.createElement(c,o(o({ref:n},p),{},{components:t})):a.createElement(c,o({ref:n},p))}));function c(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,o=new Array(r);o[0]=g;var i={};for(var d in n)hasOwnProperty.call(n,d)&&(i[d]=n[d]);i.originalType=e,i[s]="string"==typeof e?e:l,o[1]=i;for(var u=2;u<r;u++)o[u]=t[u];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},10339:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>d,default:()=>c,frontMatter:()=>i,metadata:()=>u,toc:()=>s});var a=t(58168),l=t(98587),r=(t(96540),t(15680)),o=["components"],i={id:"dump-segment",title:"dump-segment tool"},d=void 0,u={unversionedId:"operations/dump-segment",id:"operations/dump-segment",title:"dump-segment tool",description:"\x3c!--",source:"@site/docs/29.0.0/operations/dump-segment.md",sourceDirName:"operations",slug:"/operations/dump-segment",permalink:"/docs/29.0.0/operations/dump-segment",draft:!1,tags:[],version:"current",frontMatter:{id:"dump-segment",title:"dump-segment tool"},sidebar:"docs",previous:{title:"Working with different versions of Apache Hadoop",permalink:"/docs/29.0.0/operations/other-hadoop"},next:{title:"reset-cluster tool",permalink:"/docs/29.0.0/operations/reset-cluster"}},p={},s=[{value:"Output format",id:"output-format",level:3},{value:"Data dumps",id:"data-dumps",level:4},{value:"Metadata dumps",id:"metadata-dumps",level:4},{value:"Bitmap dumps",id:"bitmap-dumps",level:4},{value:"Nested column dumps",id:"nested-column-dumps",level:4},{value:"Command line arguments",id:"command-line-arguments",level:3}],m={toc:s},g="wrapper";function c(e){var n=e.components,t=(0,l.A)(e,o);return(0,r.yg)(g,(0,a.A)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"The DumpSegment tool can be used to dump the metadata or contents of an Apache Druid segment for debugging purposes. Note that the\ndump is not necessarily a full-fidelity translation of the segment. In particular, not all metadata is included, and\ncomplex metric values may not be complete."),(0,r.yg)("p",null,"To run the tool, point it at a segment directory and provide a file for writing output:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},'java -classpath "/my/druid/lib/*" -Ddruid.extensions.loadList="[]" org.apache.druid.cli.Main \\\n  tools dump-segment \\\n  --directory /home/druid/path/to/segment/ \\\n  --out /home/druid/output.txt\n')),(0,r.yg)("h3",{id:"output-format"},"Output format"),(0,r.yg)("h4",{id:"data-dumps"},"Data dumps"),(0,r.yg)("p",null,"By default, or with ",(0,r.yg)("inlineCode",{parentName:"p"},"--dump rows"),", this tool dumps rows of the segment as newline-separate JSON objects, with one\nobject per line, using the default serialization for each column. Normally all columns are included, but if you like,\nyou can limit the dump to specific columns with ",(0,r.yg)("inlineCode",{parentName:"p"},"--column name"),"."),(0,r.yg)("p",null,"For example, one line might look like this when pretty-printed:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},'{\n  "__time": 1442018818771,\n  "added": 36,\n  "channel": "#en.wikipedia",\n  "cityName": null,\n  "comment": "added project",\n  "count": 1,\n  "countryIsoCode": null,\n  "countryName": null,\n  "deleted": 0,\n  "delta": 36,\n  "isAnonymous": "false",\n  "isMinor": "false",\n  "isNew": "false",\n  "isRobot": "false",\n  "isUnpatrolled": "false",\n  "iuser": "00001553",\n  "metroCode": null,\n  "namespace": "Talk",\n  "page": "Talk:Oswald Tilghman",\n  "regionIsoCode": null,\n  "regionName": null,\n  "user": "GELongstreet"\n}\n')),(0,r.yg)("h4",{id:"metadata-dumps"},"Metadata dumps"),(0,r.yg)("p",null,"With ",(0,r.yg)("inlineCode",{parentName:"p"},"--dump metadata"),", this tool dumps metadata instead of rows. Metadata dumps generated by this tool are in the same\nformat as returned by the ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/segmentmetadataquery"},"SegmentMetadata query"),"."),(0,r.yg)("h4",{id:"bitmap-dumps"},"Bitmap dumps"),(0,r.yg)("p",null,"With ",(0,r.yg)("inlineCode",{parentName:"p"},"--dump bitmaps"),', this tool will dump bitmap indexes instead of rows. Bitmap dumps generated by this tool include\ndictionary-encoded string columns only. The output contains a field "bitmapSerdeFactory" describing the type of bitmaps\nused in the segment, and a field "bitmaps" containing the bitmaps for each value of each column. These are base64\nencoded by default, but you can also dump them as lists of row numbers with ',(0,r.yg)("inlineCode",{parentName:"p"},"--decompress-bitmaps"),"."),(0,r.yg)("p",null,"Normally all columns are included, but if you like, you can limit the dump to specific columns with ",(0,r.yg)("inlineCode",{parentName:"p"},"--column name"),"."),(0,r.yg)("p",null,"Sample output:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},'{\n  "bitmapSerdeFactory": {\n    "type": "roaring"\n  },\n  "bitmaps": {\n    "isRobot": {\n      "false": "//aExfu+Nv3X...",\n      "true": "gAl7OoRByQ..."\n    }\n  }\n}\n')),(0,r.yg)("h4",{id:"nested-column-dumps"},"Nested column dumps"),(0,r.yg)("p",null,"With ",(0,r.yg)("inlineCode",{parentName:"p"},"--dump nested"),", this tool can be used to examine Druid ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/nested-columns"},"nested columns"),". Using\n",(0,r.yg)("inlineCode",{parentName:"p"},"nested")," always requires exactly one ",(0,r.yg)("inlineCode",{parentName:"p"},"--column name")," argument, and takes an optional argument to specify a specific\nnested field in ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/sql-json-functions#jsonpath-syntax"},"JSONPath syntax"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"--nested-path $.path.to.field"),".\nIf ",(0,r.yg)("inlineCode",{parentName:"p"},"--nested-path")," is not specified, the output will contain the list of nested fields and their types, the global\nvalue dictionaries, and the list of null rows."),(0,r.yg)("p",null,"Sample output:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n  "nest": {\n    "fields": [\n      {\n        "path": "$.x",\n        "types": [\n          "LONG"\n        ]\n      },\n      {\n        "path": "$.y",\n        "types": [\n          "DOUBLE"\n        ]\n      },\n      {\n        "path": "$.z",\n        "types": [\n          "STRING"\n        ]\n      }\n    ],\n    "dictionaries": {\n      "strings": [\n        {\n          "globalId": 0,\n          "value": null\n        },\n        {\n          "globalId": 1,\n          "value": "a"\n        },\n        {\n          "globalId": 2,\n          "value": "b"\n        }\n      ],\n      "longs": [\n        {\n          "globalId": 3,\n          "value": 100\n        },\n        {\n          "globalId": 4,\n          "value": 200\n        },\n        {\n          "globalId": 5,\n          "value": 400\n        }\n      ],\n      "doubles": [\n        {\n          "globalId": 6,\n          "value": 1.1\n        },\n        {\n          "globalId": 7,\n          "value": 2.2\n        },\n        {\n          "globalId": 8,\n          "value": 3.3\n        }\n      ],\n      "nullRows": []\n    }\n  }\n}\n')),(0,r.yg)("p",null,"If ",(0,r.yg)("inlineCode",{parentName:"p"},"--nested-path")," is specified, the output will instead contain the types of the nested field, the local value\ndictionary, including the 'global' dictionary id and value, the uncompressed bitmap index for each value (list of row\nnumbers which contain the value), and a dump of the column itself, which contains the row number, raw JSON form of the\nnested column itself, the local dictionary id of the field for that row, and the value for the field for the row."),(0,r.yg)("p",null,"Sample output:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n  "bitmapSerdeFactory": {\n    "type": "roaring"\n  },\n  "nest": {\n    "$.x": {\n      "types": [\n        "LONG"\n      ],\n      "dictionary": [\n        {\n          "localId": 0,\n          "globalId": 0,\n          "value": null,\n          "rows": [\n            4\n          ]\n        },\n        {\n          "localId": 1,\n          "globalId": 3,\n          "value": "100",\n          "rows": [\n            3\n          ]\n        },\n        {\n          "localId": 2,\n          "globalId": 4,\n          "value": "200",\n          "rows": [\n            0,\n            2\n          ]\n        },\n        {\n          "localId": 3,\n          "globalId": 5,\n          "value": "400",\n          "rows": [\n            1\n          ]\n        }\n      ],\n      "column": [\n        {\n          "row": 0,\n          "raw": {\n            "x": 200,\n            "y": 2.2\n          },\n          "fieldId": 2,\n          "fieldValue": "200"\n        },\n        {\n          "row": 1,\n          "raw": {\n            "x": 400,\n            "y": 1.1,\n            "z": "a"\n          },\n          "fieldId": 3,\n          "fieldValue": "400"\n        },\n        {\n          "row": 2,\n          "raw": {\n            "x": 200,\n            "z": "b"\n          },\n          "fieldId": 2,\n          "fieldValue": "200"\n        },\n        {\n          "row": 3,\n          "raw": {\n            "x": 100,\n            "y": 1.1,\n            "z": "a"\n          },\n          "fieldId": 1,\n          "fieldValue": "100"\n        },\n        {\n          "row": 4,\n          "raw": {\n            "y": 3.3,\n            "z": "b"\n          },\n          "fieldId": 0,\n          "fieldValue": null\n        }\n      ]\n    }\n  }\n}\n')),(0,r.yg)("h3",{id:"command-line-arguments"},"Command line arguments"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"argument"),(0,r.yg)("th",{parentName:"tr",align:null},"description"),(0,r.yg)("th",{parentName:"tr",align:null},"required?"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--directory file"),(0,r.yg)("td",{parentName:"tr",align:null},'Directory containing segment data. This could be generated by unzipping an "index.zip" from deep storage.'),(0,r.yg)("td",{parentName:"tr",align:null},"yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--output file"),(0,r.yg)("td",{parentName:"tr",align:null},"File to write to, or omit to write to stdout."),(0,r.yg)("td",{parentName:"tr",align:null},"yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--dump TYPE"),(0,r.yg)("td",{parentName:"tr",align:null},"Dump either 'rows' (default), 'metadata', 'bitmaps', or 'nested' for examining nested columns."),(0,r.yg)("td",{parentName:"tr",align:null},"no")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--column columnName"),(0,r.yg)("td",{parentName:"tr",align:null},"Column to include. Specify multiple times for multiple columns, or omit to include all columns."),(0,r.yg)("td",{parentName:"tr",align:null},"no")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--filter json"),(0,r.yg)("td",{parentName:"tr",align:null},"JSON-encoded ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/querying/filters"},"query filter"),". Omit to include all rows. Only used if dumping rows."),(0,r.yg)("td",{parentName:"tr",align:null},"no")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--time-iso8601"),(0,r.yg)("td",{parentName:"tr",align:null},"Format __time column in ISO8601 format rather than long. Only used if dumping rows."),(0,r.yg)("td",{parentName:"tr",align:null},"no")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--decompress-bitmaps"),(0,r.yg)("td",{parentName:"tr",align:null},"Dump bitmaps as arrays rather than base64-encoded compressed bitmaps. Only used if dumping bitmaps."),(0,r.yg)("td",{parentName:"tr",align:null},"no")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"--nested-path"),(0,r.yg)("td",{parentName:"tr",align:null},"Specify a specific nested column field using ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/querying/sql-json-functions#jsonpath-syntax"},"JSONPath syntax"),". Only used if dumping a nested column."),(0,r.yg)("td",{parentName:"tr",align:null},"no")))))}c.isMDXComponent=!0}}]);