blob: f48498d18b190f670c8cadd342c9dfbfb3751541 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
-->
<!-- Title: impala::HdfsScanner Pages: 1 -->
<svg width="678pt" height="1334pt"
viewBox="0.00 0.00 678.00 1334.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1330)">
<title>impala::HdfsScanner</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1330 674,-1330 674,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="342.5,-949 342.5,-1325 501.5,-1325 501.5,-949 342.5,-949"/>
<text text-anchor="middle" x="422" y="-1313" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsScanner</text>
<polyline fill="none" stroke="black" points="342.5,-1306 501.5,-1306 "/>
<text text-anchor="start" x="350.5" y="-1294" font-family="Helvetica,sans-Serif" font-size="10.00">+ FILE_BLOCK_SIZE</text>
<text text-anchor="start" x="350.5" y="-1283" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="350.5" y="-1272" font-family="Helvetica,sans-Serif" font-size="10.00"># scan_node_</text>
<text text-anchor="start" x="350.5" y="-1261" font-family="Helvetica,sans-Serif" font-size="10.00"># state_</text>
<text text-anchor="start" x="350.5" y="-1250" font-family="Helvetica,sans-Serif" font-size="10.00"># context_</text>
<text text-anchor="start" x="350.5" y="-1239" font-family="Helvetica,sans-Serif" font-size="10.00"># stream_</text>
<text text-anchor="start" x="350.5" y="-1228" font-family="Helvetica,sans-Serif" font-size="10.00"># conjunct_ctxs_</text>
<text text-anchor="start" x="350.5" y="-1217" font-family="Helvetica,sans-Serif" font-size="10.00"># template_tuple_</text>
<text text-anchor="start" x="350.5" y="-1206" font-family="Helvetica,sans-Serif" font-size="10.00"># tuple_byte_size_</text>
<text text-anchor="start" x="350.5" y="-1195" font-family="Helvetica,sans-Serif" font-size="10.00"># tuple_</text>
<text text-anchor="start" x="350.5" y="-1184" font-family="Helvetica,sans-Serif" font-size="10.00"># batch_</text>
<text text-anchor="start" x="350.5" y="-1173" font-family="Helvetica,sans-Serif" font-size="10.00"># tuple_mem_</text>
<text text-anchor="start" x="350.5" y="-1162" font-family="Helvetica,sans-Serif" font-size="10.00">and 9 more...</text>
<polyline fill="none" stroke="black" points="342.5,-1155 501.5,-1155 "/>
<text text-anchor="start" x="350.5" y="-1143" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsScanner()</text>
<text text-anchor="start" x="350.5" y="-1132" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsScanner()</text>
<text text-anchor="start" x="350.5" y="-1121" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="350.5" y="-1110" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProcessSplit()</text>
<text text-anchor="start" x="350.5" y="-1099" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="350.5" y="-1088" font-family="Helvetica,sans-Serif" font-size="10.00"># InitializeWriteTuplesFn()</text>
<text text-anchor="start" x="350.5" y="-1077" font-family="Helvetica,sans-Serif" font-size="10.00"># StartNewRowBatch()</text>
<text text-anchor="start" x="350.5" y="-1066" font-family="Helvetica,sans-Serif" font-size="10.00"># InitNewRange()</text>
<text text-anchor="start" x="350.5" y="-1055" font-family="Helvetica,sans-Serif" font-size="10.00"># GetMemory()</text>
<text text-anchor="start" x="350.5" y="-1044" font-family="Helvetica,sans-Serif" font-size="10.00"># CommitRows()</text>
<text text-anchor="start" x="350.5" y="-1033" font-family="Helvetica,sans-Serif" font-size="10.00"># AddFinalRowBatch()</text>
<text text-anchor="start" x="350.5" y="-1022" font-family="Helvetica,sans-Serif" font-size="10.00"># AttachPool()</text>
<text text-anchor="start" x="350.5" y="-1011" font-family="Helvetica,sans-Serif" font-size="10.00"># EvalConjuncts()</text>
<text text-anchor="start" x="350.5" y="-1000" font-family="Helvetica,sans-Serif" font-size="10.00"># WriteEmptyTuples()</text>
<text text-anchor="start" x="350.5" y="-989" font-family="Helvetica,sans-Serif" font-size="10.00"># WriteEmptyTuples()</text>
<text text-anchor="start" x="350.5" y="-978" font-family="Helvetica,sans-Serif" font-size="10.00">and 11 more...</text>
<text text-anchor="start" x="350.5" y="-967" font-family="Helvetica,sans-Serif" font-size="10.00"># CodegenWriteCompleteTuple()</text>
<text text-anchor="start" x="350.5" y="-956" font-family="Helvetica,sans-Serif" font-size="10.00"># CodegenWriteAlignedTuples()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classimpala_1_1BaseSequenceScanner.html" target="_top" xlink:title="{impala::BaseSequenceScanner\n|# header_\l# only_parsing_header_\l# SYNC_HASH_SIZE\l# HEADER_SIZE\l# SYNC_MARKER\l&#45; finished_\l&#45; block_start_\l&#45; total_block_size_\l&#45; num_syncs_\l&#45; bytes_skipped_counter_\l|+ Prepare()\l+ Close()\l+ ProcessSplit()\l+ ~BaseSequenceScanner()\l+ IssueInitialRanges()\l# AllocateFileHeader()\l# ReadFileHeader()\l# ProcessRange()\l# file_format()\l# BaseSequenceScanner()\l# ReadSync()\l# SkipToSync()\l# finished()\l&#45; ReadPastSize()\l&#45; FindSyncBlock()\l&#45; CloseFileRanges()\l}">
<polygon fill="white" stroke="black" points="179.5,-524.5 179.5,-845.5 332.5,-845.5 332.5,-524.5 179.5,-524.5"/>
<text text-anchor="middle" x="256" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::BaseSequenceScanner</text>
<polyline fill="none" stroke="black" points="179.5,-826.5 332.5,-826.5 "/>
<text text-anchor="start" x="187.5" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00"># header_</text>
<text text-anchor="start" x="187.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00"># only_parsing_header_</text>
<text text-anchor="start" x="187.5" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SYNC_HASH_SIZE</text>
<text text-anchor="start" x="187.5" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00"># HEADER_SIZE</text>
<text text-anchor="start" x="187.5" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SYNC_MARKER</text>
<text text-anchor="start" x="187.5" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; finished_</text>
<text text-anchor="start" x="187.5" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; block_start_</text>
<text text-anchor="start" x="187.5" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; total_block_size_</text>
<text text-anchor="start" x="187.5" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_syncs_</text>
<text text-anchor="start" x="187.5" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; bytes_skipped_counter_</text>
<polyline fill="none" stroke="black" points="179.5,-708.5 332.5,-708.5 "/>
<text text-anchor="start" x="187.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="187.5" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="187.5" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProcessSplit()</text>
<text text-anchor="start" x="187.5" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseSequenceScanner()</text>
<text text-anchor="start" x="187.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IssueInitialRanges()</text>
<text text-anchor="start" x="187.5" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocateFileHeader()</text>
<text text-anchor="start" x="187.5" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReadFileHeader()</text>
<text text-anchor="start" x="187.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ProcessRange()</text>
<text text-anchor="start" x="187.5" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00"># file_format()</text>
<text text-anchor="start" x="187.5" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00"># BaseSequenceScanner()</text>
<text text-anchor="start" x="187.5" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ReadSync()</text>
<text text-anchor="start" x="187.5" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00"># SkipToSync()</text>
<text text-anchor="start" x="187.5" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00"># finished()</text>
<text text-anchor="start" x="187.5" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadPastSize()</text>
<text text-anchor="start" x="187.5" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FindSyncBlock()</text>
<text text-anchor="start" x="187.5" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CloseFileRanges()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M349.357,-939.077C337.836,-907.844 326.044,-875.878 314.888,-845.637"/>
<polygon fill="none" stroke="midnightblue" points="346.178,-940.573 352.923,-948.743 352.746,-938.15 346.178,-940.573"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="classimpala_1_1HdfsParquetScanner.html" target="_top" xlink:title="{impala::HdfsParquetScanner\n|&#45; column_readers_\l&#45; file_metadata_\l&#45; file_version_\l&#45; schema_\l&#45; metadata_range_\l&#45; parse_status_\l&#45; dictionary_pool_\l&#45; assemble_rows_timer_\l&#45; num_cols_counter_\l&#45; FOOTER_SIZE\l|+ HdfsParquetScanner()\l+ ~HdfsParquetScanner()\l+ Prepare()\l+ Close()\l+ ProcessSplit()\l+ IssueInitialRanges()\l&#45; AssembleRows()\l&#45; ProcessFooter()\l&#45; CreateColumnReaders()\l&#45; CreateReader()\l&#45; InitColumns()\l&#45; ValidateFileMetadata()\l&#45; ValidateColumn()\l&#45; InitNewRange()\l&#45; CreateSchemaTree()\l&#45; CreateSchemaTree()\l}">
<polygon fill="white" stroke="black" points="351,-524.5 351,-845.5 493,-845.5 493,-524.5 351,-524.5"/>
<text text-anchor="middle" x="422" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsParquetScanner</text>
<polyline fill="none" stroke="black" points="351,-826.5 493,-826.5 "/>
<text text-anchor="start" x="359" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; column_readers_</text>
<text text-anchor="start" x="359" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; file_metadata_</text>
<text text-anchor="start" x="359" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; file_version_</text>
<text text-anchor="start" x="359" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; schema_</text>
<text text-anchor="start" x="359" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; metadata_range_</text>
<text text-anchor="start" x="359" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; parse_status_</text>
<text text-anchor="start" x="359" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; dictionary_pool_</text>
<text text-anchor="start" x="359" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; assemble_rows_timer_</text>
<text text-anchor="start" x="359" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_cols_counter_</text>
<text text-anchor="start" x="359" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FOOTER_SIZE</text>
<polyline fill="none" stroke="black" points="351,-708.5 493,-708.5 "/>
<text text-anchor="start" x="359" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsParquetScanner()</text>
<text text-anchor="start" x="359" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsParquetScanner()</text>
<text text-anchor="start" x="359" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="359" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="359" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProcessSplit()</text>
<text text-anchor="start" x="359" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IssueInitialRanges()</text>
<text text-anchor="start" x="359" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AssembleRows()</text>
<text text-anchor="start" x="359" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessFooter()</text>
<text text-anchor="start" x="359" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateColumnReaders()</text>
<text text-anchor="start" x="359" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateReader()</text>
<text text-anchor="start" x="359" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InitColumns()</text>
<text text-anchor="start" x="359" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ValidateFileMetadata()</text>
<text text-anchor="start" x="359" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ValidateColumn()</text>
<text text-anchor="start" x="359" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InitNewRange()</text>
<text text-anchor="start" x="359" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateSchemaTree()</text>
<text text-anchor="start" x="359" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CreateSchemaTree()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M422,-938.673C422,-907.568 422,-875.747 422,-845.637"/>
<polygon fill="none" stroke="midnightblue" points="418.5,-938.743 422,-948.743 425.5,-938.744 418.5,-938.743"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="classimpala_1_1HdfsTextScanner.html" target="_top" xlink:title="{impala::HdfsTextScanner\n|+ LZO_INDEX_SUFFIX\l+ LLVM_CLASS_NAME\l# byte_buffer_ptr_\l# byte_buffer_end_\l# byte_buffer_read_size_\l# only_parsing_header_\l&#45; boundary_pool_\l&#45; boundary_row_\l&#45; boundary_column_\l&#45; slot_idx_\l&#45; delimited_text_parser_\l&#45; field_locations_\l&#45; row_end_locations_\l&#45; batch_start_ptr_\l&#45; error_in_row_\l&#45; partial_tuple_\l&#45; partial_tuple_empty_\l&#45; parse_delimiter_timer_\l&#45; NEXT_BLOCK_READ_SIZE\l|+ HdfsTextScanner()\l+ ~HdfsTextScanner()\l+ Prepare()\l+ ProcessSplit()\l+ Close()\l+ IssueInitialRanges()\l+ Codegen()\l# ResetScanner()\l&#45; InitNewRange()\l&#45; FindFirstTuple()\l&#45; ProcessRange()\l&#45; FinishScanRange()\l&#45; FillByteBuffer()\l&#45; FillByteBufferCompressedFile()\l&#45; FillByteBufferGzip()\l&#45; CopyBoundaryField()\l&#45; WriteFields()\l&#45; WritePartialTuple()\l&#45; LogRowParseError()\l}">
<polygon fill="white" stroke="black" points="511.5,-458.5 511.5,-911.5 670.5,-911.5 670.5,-458.5 511.5,-458.5"/>
<text text-anchor="middle" x="591" y="-899.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsTextScanner</text>
<polyline fill="none" stroke="black" points="511.5,-892.5 670.5,-892.5 "/>
<text text-anchor="start" x="519.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LZO_INDEX_SUFFIX</text>
<text text-anchor="start" x="519.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LLVM_CLASS_NAME</text>
<text text-anchor="start" x="519.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00"># byte_buffer_ptr_</text>
<text text-anchor="start" x="519.5" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00"># byte_buffer_end_</text>
<text text-anchor="start" x="519.5" y="-836.5" font-family="Helvetica,sans-Serif" font-size="10.00"># byte_buffer_read_size_</text>
<text text-anchor="start" x="519.5" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00"># only_parsing_header_</text>
<text text-anchor="start" x="519.5" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; boundary_pool_</text>
<text text-anchor="start" x="519.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; boundary_row_</text>
<text text-anchor="start" x="519.5" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; boundary_column_</text>
<text text-anchor="start" x="519.5" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; slot_idx_</text>
<text text-anchor="start" x="519.5" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; delimited_text_parser_</text>
<text text-anchor="start" x="519.5" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; field_locations_</text>
<text text-anchor="start" x="519.5" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; row_end_locations_</text>
<text text-anchor="start" x="519.5" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; batch_start_ptr_</text>
<text text-anchor="start" x="519.5" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; error_in_row_</text>
<text text-anchor="start" x="519.5" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; partial_tuple_</text>
<text text-anchor="start" x="519.5" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; partial_tuple_empty_</text>
<text text-anchor="start" x="519.5" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; parse_delimiter_timer_</text>
<text text-anchor="start" x="519.5" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NEXT_BLOCK_READ_SIZE</text>
<polyline fill="none" stroke="black" points="511.5,-675.5 670.5,-675.5 "/>
<text text-anchor="start" x="519.5" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsTextScanner()</text>
<text text-anchor="start" x="519.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsTextScanner()</text>
<text text-anchor="start" x="519.5" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="519.5" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProcessSplit()</text>
<text text-anchor="start" x="519.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="519.5" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IssueInitialRanges()</text>
<text text-anchor="start" x="519.5" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Codegen()</text>
<text text-anchor="start" x="519.5" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ResetScanner()</text>
<text text-anchor="start" x="519.5" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InitNewRange()</text>
<text text-anchor="start" x="519.5" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FindFirstTuple()</text>
<text text-anchor="start" x="519.5" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRange()</text>
<text text-anchor="start" x="519.5" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FinishScanRange()</text>
<text text-anchor="start" x="519.5" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FillByteBuffer()</text>
<text text-anchor="start" x="519.5" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FillByteBufferCompressedFile()</text>
<text text-anchor="start" x="519.5" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; FillByteBufferGzip()</text>
<text text-anchor="start" x="519.5" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CopyBoundaryField()</text>
<text text-anchor="start" x="519.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; WriteFields()</text>
<text text-anchor="start" x="519.5" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; WritePartialTuple()</text>
<text text-anchor="start" x="519.5" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LogRowParseError()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M495.879,-939.282C501.025,-925.578 506.225,-911.732 511.4,-897.951"/>
<polygon fill="none" stroke="midnightblue" points="492.565,-938.151 492.325,-948.743 499.118,-940.612 492.565,-938.151"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="classimpala_1_1HdfsAvroScanner.html" target="_top" xlink:title="{impala::HdfsAvroScanner\n|+ AVRO_VERSION_HEADER\l&#45; avro_header_\l&#45; codegend_decode_avro\l_data_\l&#45; AVRO_SCHEMA_KEY\l&#45; AVRO_CODEC_KEY\l&#45; AVRO_NULL_CODEC\l&#45; AVRO_SNAPPY_CODEC\l&#45; AVRO_DEFLATE_CODEC\l&#45; LLVM_CLASS_NAME\l|+ HdfsAvroScanner()\l+ Codegen()\l# AllocateFileHeader()\l# ReadFileHeader()\l# InitNewRange()\l# ProcessRange()\l# file_format()\l&#45; ParseMetadata()\l&#45; ResolveSchemas()\l&#45; VerifyTypesMatch()\l&#45; DecodeAvroData()\l&#45; MaterializeTuple()\l&#45; ReadAvroBoolean()\l&#45; ReadAvroInt32()\l&#45; ReadAvroInt64()\l&#45; ReadAvroFloat()\l&#45; ReadAvroDouble()\l&#45; ReadAvroVarchar()\l&#45; ReadAvroChar()\l&#45; ReadAvroString()\l&#45; ReadAvroDecimal()\l&#45; ReadUnionType()\l&#45; ConvertSchema()\l&#45; CodegenDecodeAvroData()\l&#45; CodegenMaterializeTuple()\l}">
<polygon fill="white" stroke="black" points="-0.5,-1 -0.5,-421 152.5,-421 152.5,-1 -0.5,-1"/>
<text text-anchor="middle" x="76" y="-409" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsAvroScanner</text>
<polyline fill="none" stroke="black" points="-0.5,-402 152.5,-402 "/>
<text text-anchor="start" x="7.5" y="-390" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVRO_VERSION_HEADER</text>
<text text-anchor="start" x="7.5" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; avro_header_</text>
<text text-anchor="start" x="7.5" y="-368" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; codegend_decode_avro</text>
<text text-anchor="start" x="7.5" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00">_data_</text>
<text text-anchor="start" x="7.5" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AVRO_SCHEMA_KEY</text>
<text text-anchor="start" x="7.5" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AVRO_CODEC_KEY</text>
<text text-anchor="start" x="7.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AVRO_NULL_CODEC</text>
<text text-anchor="start" x="7.5" y="-313" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AVRO_SNAPPY_CODEC</text>
<text text-anchor="start" x="7.5" y="-302" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AVRO_DEFLATE_CODEC</text>
<text text-anchor="start" x="7.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LLVM_CLASS_NAME</text>
<polyline fill="none" stroke="black" points="-0.5,-284 152.5,-284 "/>
<text text-anchor="start" x="7.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsAvroScanner()</text>
<text text-anchor="start" x="7.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ Codegen()</text>
<text text-anchor="start" x="7.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocateFileHeader()</text>
<text text-anchor="start" x="7.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00"># ReadFileHeader()</text>
<text text-anchor="start" x="7.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00"># InitNewRange()</text>
<text text-anchor="start" x="7.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00"># ProcessRange()</text>
<text text-anchor="start" x="7.5" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00"># file_format()</text>
<text text-anchor="start" x="7.5" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ParseMetadata()</text>
<text text-anchor="start" x="7.5" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ResolveSchemas()</text>
<text text-anchor="start" x="7.5" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; VerifyTypesMatch()</text>
<text text-anchor="start" x="7.5" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; DecodeAvroData()</text>
<text text-anchor="start" x="7.5" y="-151" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MaterializeTuple()</text>
<text text-anchor="start" x="7.5" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroBoolean()</text>
<text text-anchor="start" x="7.5" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroInt32()</text>
<text text-anchor="start" x="7.5" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroInt64()</text>
<text text-anchor="start" x="7.5" y="-107" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroFloat()</text>
<text text-anchor="start" x="7.5" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroDouble()</text>
<text text-anchor="start" x="7.5" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroVarchar()</text>
<text text-anchor="start" x="7.5" y="-74" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroChar()</text>
<text text-anchor="start" x="7.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroString()</text>
<text text-anchor="start" x="7.5" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadAvroDecimal()</text>
<text text-anchor="start" x="7.5" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadUnionType()</text>
<text text-anchor="start" x="7.5" y="-30" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ConvertSchema()</text>
<text text-anchor="start" x="7.5" y="-19" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenDecodeAvroData()</text>
<text text-anchor="start" x="7.5" y="-8" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CodegenMaterializeTuple()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M191.353,-514.482C178.761,-481.463 165.448,-446.554 152.516,-412.641"/>
<polygon fill="none" stroke="midnightblue" points="188.227,-516.106 195.06,-524.202 194.767,-513.612 188.227,-516.106"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="classimpala_1_1HdfsRCFileScanner.html" target="_top" xlink:title="A scanner for reading RCFiles into tuples. ">
<polygon fill="white" stroke="black" points="171,-12 171,-410 341,-410 341,-12 171,-12"/>
<text text-anchor="middle" x="256" y="-398" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsRCFileScanner</text>
<polyline fill="none" stroke="black" points="171,-391 341,-391 "/>
<text text-anchor="start" x="179" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; columns_</text>
<text text-anchor="start" x="179" y="-368" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; key_buffer_</text>
<text text-anchor="start" x="179" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_rows_</text>
<text text-anchor="start" x="179" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; row_pos_</text>
<text text-anchor="start" x="179" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; key_length_</text>
<text text-anchor="start" x="179" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; compressed_key_length_</text>
<text text-anchor="start" x="179" y="-313" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; reuse_row_group_buffer_</text>
<text text-anchor="start" x="179" y="-302" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; row_group_buffer_</text>
<text text-anchor="start" x="179" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; row_group_length_</text>
<text text-anchor="start" x="179" y="-280" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; row_group_buffer_size_</text>
<text text-anchor="start" x="179" y="-269" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; RCFILE_KEY_CLASS_NAME</text>
<text text-anchor="start" x="179" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; RCFILE_VALUE_CLASS_NAME</text>
<text text-anchor="start" x="179" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; RCFILE_METADATA_KEY</text>
<text text-anchor="start" x="179" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00">_NUM_COLS</text>
<text text-anchor="start" x="179" y="-225" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; RCFILE_VERSION_HEADER</text>
<polyline fill="none" stroke="black" points="171,-218 341,-218 "/>
<text text-anchor="start" x="179" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsRCFileScanner()</text>
<text text-anchor="start" x="179" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsRCFileScanner()</text>
<text text-anchor="start" x="179" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="179" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">+ DebugString()</text>
<text text-anchor="start" x="179" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; AllocateFileHeader()</text>
<text text-anchor="start" x="179" y="-151" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadFileHeader()</text>
<text text-anchor="start" x="179" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; InitNewRange()</text>
<text text-anchor="start" x="179" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessRange()</text>
<text text-anchor="start" x="179" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; file_format()</text>
<text text-anchor="start" x="179" y="-107" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadNumColumnsMetadata()</text>
<text text-anchor="start" x="179" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadRowGroupHeader()</text>
<text text-anchor="start" x="179" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadKeyBuffers()</text>
<text text-anchor="start" x="179" y="-74" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetCurrentKeyBuffer()</text>
<text text-anchor="start" x="179" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadColumnBuffers()</text>
<text text-anchor="start" x="179" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NextField()</text>
<text text-anchor="start" x="179" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadRowGroup()</text>
<text text-anchor="start" x="179" y="-30" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ResetRowGroup()</text>
<text text-anchor="start" x="179" y="-19" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; NextRow()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M256,-513.828C256,-480.19 256,-444.612 256,-410.14"/>
<polygon fill="none" stroke="midnightblue" points="252.5,-514.202 256,-524.202 259.5,-514.202 252.5,-514.202"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="classimpala_1_1HdfsSequenceScanner.html" target="_top" xlink:title="{impala::HdfsSequenceScanner\n|+ SEQFILE_VERSION_HEADER\l&#45; delimited_text_parser_\l&#45; field_locations_\l&#45; record_locations_\l&#45; current_block_length_\l&#45; current_key_length_\l&#45; unparsed_data_buffer_\l&#45; num_buffered_records\l_in_compressed_block_\l&#45; next_record_in_compressed\l_block_\l&#45; MAX_BLOCK_SIZE\l&#45; SEQFILE_VALUE_CLASS_NAME\l|+ HdfsSequenceScanner()\l+ ~HdfsSequenceScanner()\l+ Prepare()\l+ Codegen()\l# AllocateFileHeader()\l# ReadFileHeader()\l# InitNewRange()\l# ProcessRange()\l# file_format()\l&#45; ReadBlockHeader()\l&#45; ProcessBlockCompressedScan\lRange()\l&#45; ReadCompressedBlock()\l&#45; ProcessDecompressedBlock()\l&#45; GetRecord()\l&#45; LogRowParseError()\l}">
<polygon fill="white" stroke="black" points="359,-34 359,-388 535,-388 535,-34 359,-34"/>
<text text-anchor="middle" x="447" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HdfsSequenceScanner</text>
<polyline fill="none" stroke="black" points="359,-369 535,-369 "/>
<text text-anchor="start" x="367" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEQFILE_VERSION_HEADER</text>
<text text-anchor="start" x="367" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; delimited_text_parser_</text>
<text text-anchor="start" x="367" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; field_locations_</text>
<text text-anchor="start" x="367" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; record_locations_</text>
<text text-anchor="start" x="367" y="-313" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; current_block_length_</text>
<text text-anchor="start" x="367" y="-302" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; current_key_length_</text>
<text text-anchor="start" x="367" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; unparsed_data_buffer_</text>
<text text-anchor="start" x="367" y="-280" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_buffered_records</text>
<text text-anchor="start" x="367" y="-269" font-family="Helvetica,sans-Serif" font-size="10.00">_in_compressed_block_</text>
<text text-anchor="start" x="367" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; next_record_in_compressed</text>
<text text-anchor="start" x="367" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">_block_</text>
<text text-anchor="start" x="367" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; MAX_BLOCK_SIZE</text>
<text text-anchor="start" x="367" y="-225" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SEQFILE_VALUE_CLASS_NAME</text>
<polyline fill="none" stroke="black" points="359,-218 535,-218 "/>
<text text-anchor="start" x="367" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ HdfsSequenceScanner()</text>
<text text-anchor="start" x="367" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HdfsSequenceScanner()</text>
<text text-anchor="start" x="367" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="367" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">+ Codegen()</text>
<text text-anchor="start" x="367" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00"># AllocateFileHeader()</text>
<text text-anchor="start" x="367" y="-151" font-family="Helvetica,sans-Serif" font-size="10.00"># ReadFileHeader()</text>
<text text-anchor="start" x="367" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00"># InitNewRange()</text>
<text text-anchor="start" x="367" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00"># ProcessRange()</text>
<text text-anchor="start" x="367" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00"># file_format()</text>
<text text-anchor="start" x="367" y="-107" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadBlockHeader()</text>
<text text-anchor="start" x="367" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessBlockCompressedScan</text>
<text text-anchor="start" x="367" y="-85" font-family="Helvetica,sans-Serif" font-size="10.00">Range()</text>
<text text-anchor="start" x="367" y="-74" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ReadCompressedBlock()</text>
<text text-anchor="start" x="367" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ProcessDecompressedBlock()</text>
<text text-anchor="start" x="367" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; GetRecord()</text>
<text text-anchor="start" x="367" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; LogRowParseError()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M319.479,-514.968C326.961,-495.711 334.575,-476.401 342,-458 351.166,-435.284 361.012,-411.485 370.87,-388.014"/>
<polygon fill="none" stroke="midnightblue" points="316.169,-513.823 315.819,-524.413 322.696,-516.353 316.169,-513.823"/>
</g>
</g>
</svg>