blob: ea418c71e229fc23664ba675db2976929ba2451f [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::HBaseScanNode Pages: 1 -->
<!--zoomable 1520 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 210;
var viewHeight = 1520;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>impala::HBaseScanNode</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1516 206,-1516 206,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="31,-0.5 31,-299.5 171,-299.5 171,-0.5 31,-0.5"/>
<text text-anchor="middle" x="101" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::HBaseScanNode</text>
<polyline fill="none" stroke="black" points="31,-280.5 171,-280.5 "/>
<text text-anchor="start" x="39" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; table_name_</text>
<text text-anchor="start" x="39" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_id_</text>
<text text-anchor="start" x="39" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_desc_</text>
<text text-anchor="start" x="39" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_idx_</text>
<text text-anchor="start" x="39" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; scan_range_vector_</text>
<text text-anchor="start" x="39" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; filters_</text>
<text text-anchor="start" x="39" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; num_errors_</text>
<text text-anchor="start" x="39" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; tuple_pool_</text>
<text text-anchor="start" x="39" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; hbase_scanner_</text>
<text text-anchor="start" x="39" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; sorted_non_key_slots_</text>
<text text-anchor="start" x="39" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="39" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; SKIP_COLUMN</text>
<text text-anchor="start" x="39" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; ROW_KEY</text>
<polyline fill="none" stroke="black" points="31,-129.5 171,-129.5 "/>
<text text-anchor="start" x="39" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HBaseScanNode()</text>
<text text-anchor="start" x="39" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~HBaseScanNode()</text>
<text text-anchor="start" x="39" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="39" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="39" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="39" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="39" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="39" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ suggested_max_caching()</text>
<text text-anchor="start" x="39" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DebugString()</text>
<text text-anchor="start" x="39" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; WriteTextSlot()</text>
<text text-anchor="start" x="39" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; CmpColPos()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="classimpala_1_1ScanNode.html" target="_top" xlink:title="Abstract base class of all scan nodes; introduces SetScanRange(). ">
<polygon fill="white" stroke="black" points="-1,-337 -1,-977 203,-977 203,-337 -1,-337"/>
<text text-anchor="middle" x="101" y="-965" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ScanNode</text>
<polyline fill="none" stroke="black" points="-1,-958 203,-958 "/>
<text text-anchor="start" x="7" y="-946" font-family="Helvetica,sans-Serif" font-size="10.00">+ BYTES_READ_COUNTER</text>
<text text-anchor="start" x="7" y="-935" font-family="Helvetica,sans-Serif" font-size="10.00">+ ROWS_READ_COUNTER</text>
<text text-anchor="start" x="7" y="-924" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_HDFS_READ_TIMER</text>
<text text-anchor="start" x="7" y="-913" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_HBASE_READ_TIMER</text>
<text text-anchor="start" x="7" y="-902" font-family="Helvetica,sans-Serif" font-size="10.00">+ TOTAL_THROUGHPUT_COUNTER</text>
<text text-anchor="start" x="7" y="-891" font-family="Helvetica,sans-Serif" font-size="10.00">+ PER_READ_THREAD_THROUGHPUT</text>
<text text-anchor="start" x="7" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="7" y="-869" font-family="Helvetica,sans-Serif" font-size="10.00">+ NUM_DISKS_ACCESSED</text>
<text text-anchor="start" x="7" y="-858" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="7" y="-847" font-family="Helvetica,sans-Serif" font-size="10.00">+ MATERIALIZE_TUPLE_TIMER</text>
<text text-anchor="start" x="7" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCAN_RANGES_COMPLETE</text>
<text text-anchor="start" x="7" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">_COUNTER</text>
<text text-anchor="start" x="7" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCANNER_THREAD_COUNTERS</text>
<text text-anchor="start" x="7" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">_PREFIX</text>
<text text-anchor="start" x="7" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00">+ SCANNER_THREAD_TOTAL</text>
<text text-anchor="start" x="7" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00">_WALLCLOCK_TIME</text>
<text text-anchor="start" x="7" y="-770" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVERAGE_SCANNER_THREAD</text>
<text text-anchor="start" x="7" y="-759" font-family="Helvetica,sans-Serif" font-size="10.00">_CONCURRENCY</text>
<text text-anchor="start" x="7" y="-748" font-family="Helvetica,sans-Serif" font-size="10.00">+ AVERAGE_HDFS_READ_THREAD</text>
<text text-anchor="start" x="7" y="-737" font-family="Helvetica,sans-Serif" font-size="10.00">_CONCURRENCY</text>
<text text-anchor="start" x="7" y="-726" font-family="Helvetica,sans-Serif" font-size="10.00">+ NUM_SCANNER_THREADS</text>
<text text-anchor="start" x="7" y="-715" font-family="Helvetica,sans-Serif" font-size="10.00">_STARTED</text>
<text text-anchor="start" x="7" y="-704" font-family="Helvetica,sans-Serif" font-size="10.00"># scan_range_params_</text>
<text text-anchor="start" x="7" y="-693" font-family="Helvetica,sans-Serif" font-size="10.00"># bytes_read_counter_</text>
<text text-anchor="start" x="7" y="-682" font-family="Helvetica,sans-Serif" font-size="10.00"># bytes_read_timeseries</text>
<text text-anchor="start" x="7" y="-671" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="7" y="-660" font-family="Helvetica,sans-Serif" font-size="10.00"># rows_read_counter_</text>
<text text-anchor="start" x="7" y="-649" font-family="Helvetica,sans-Serif" font-size="10.00"># read_timer_</text>
<text text-anchor="start" x="7" y="-638" font-family="Helvetica,sans-Serif" font-size="10.00"># total_throughput_counter_</text>
<text text-anchor="start" x="7" y="-627" font-family="Helvetica,sans-Serif" font-size="10.00"># per_read_thread_throughput</text>
<text text-anchor="start" x="7" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="7" y="-605" font-family="Helvetica,sans-Serif" font-size="10.00"># num_disks_accessed</text>
<text text-anchor="start" x="7" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="7" y="-583" font-family="Helvetica,sans-Serif" font-size="10.00"># materialize_tuple_timer_</text>
<text text-anchor="start" x="7" y="-572" font-family="Helvetica,sans-Serif" font-size="10.00"># scan_ranges_complete</text>
<text text-anchor="start" x="7" y="-561" font-family="Helvetica,sans-Serif" font-size="10.00">_counter_</text>
<text text-anchor="start" x="7" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<polyline fill="none" stroke="black" points="-1,-543 203,-543 "/>
<text text-anchor="start" x="7" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">+ ScanNode()</text>
<text text-anchor="start" x="7" y="-520" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="7" y="-509" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetScanRanges()</text>
<text text-anchor="start" x="7" y="-498" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsScanNode()</text>
<text text-anchor="start" x="7" y="-487" font-family="Helvetica,sans-Serif" font-size="10.00">+ bytes_read_counter()</text>
<text text-anchor="start" x="7" y="-476" font-family="Helvetica,sans-Serif" font-size="10.00">+ rows_read_counter()</text>
<text text-anchor="start" x="7" y="-465" font-family="Helvetica,sans-Serif" font-size="10.00">+ read_timer()</text>
<text text-anchor="start" x="7" y="-454" font-family="Helvetica,sans-Serif" font-size="10.00">+ total_throughput_counter()</text>
<text text-anchor="start" x="7" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00">+ per_read_thread_throughput</text>
<text text-anchor="start" x="7" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="7" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ materialize_tuple_timer()</text>
<text text-anchor="start" x="7" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">+ scan_ranges_complete</text>
<text text-anchor="start" x="7" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="7" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">+ scanner_thread_counters()</text>
<text text-anchor="start" x="7" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00">+ active_scanner_thread</text>
<text text-anchor="start" x="7" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">_counter()</text>
<text text-anchor="start" x="7" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">+ average_scanner_thread</text>
<text text-anchor="start" x="7" y="-344" font-family="Helvetica,sans-Serif" font-size="10.00">_concurrency()</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M101,-326.853C101,-317.654 101,-308.605 101,-299.761"/>
<polygon fill="none" stroke="midnightblue" points="97.5001,-326.892 101,-336.892 104.5,-326.892 97.5001,-326.892"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="classimpala_1_1ExecNode.html" target="_top" xlink:title="{impala::ExecNode\n|+ ROW_THROUGHPUT_COUNTER\l# id_\l# type_\l# pool_\l# conjunct_ctxs_\l# children_\l# row_descriptor_\l# debug_phase_\l# debug_action_\l# limit_\l# num_rows_returned_\land 7 more...\l&#45; is_closed_\l&#45; expr_ctxs_to_free_\l|+ ExecNode()\l+ ~ExecNode()\l+ Init()\l+ Prepare()\l+ Open()\l+ GetNext()\l+ Reset()\l+ Close()\l+ CollectNodes()\l+ CollectScanNodes()\land 12 more...\l+ CreateTree()\l+ SetDebugOptions()\l+ EvalConjuncts()\l+ CodegenEvalConjuncts()\l+ GetNodeIdFromProfile()\l# child()\l# is_closed()\l# IsScanNode()\l# InitRuntimeProfile()\l# ExecDebugAction()\l# AddRuntimeExecOption()\l# QueryMaintenance()\l# AddExprCtxToFree()\l# AddExprCtxsToFree()\l# AddExprCtxsToFree()\l# CreateNode()\l# CreateTreeHelper()\l}">
<polygon fill="white" stroke="black" points="10,-1014.5 10,-1511.5 192,-1511.5 192,-1014.5 10,-1014.5"/>
<text text-anchor="middle" x="101" y="-1499.5" font-family="Helvetica,sans-Serif" font-size="10.00">impala::ExecNode</text>
<polyline fill="none" stroke="black" points="10,-1492.5 192,-1492.5 "/>
<text text-anchor="start" x="18" y="-1480.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ROW_THROUGHPUT_COUNTER</text>
<text text-anchor="start" x="18" y="-1469.5" font-family="Helvetica,sans-Serif" font-size="10.00"># id_</text>
<text text-anchor="start" x="18" y="-1458.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_</text>
<text text-anchor="start" x="18" y="-1447.5" font-family="Helvetica,sans-Serif" font-size="10.00"># pool_</text>
<text text-anchor="start" x="18" y="-1436.5" font-family="Helvetica,sans-Serif" font-size="10.00"># conjunct_ctxs_</text>
<text text-anchor="start" x="18" y="-1425.5" font-family="Helvetica,sans-Serif" font-size="10.00"># children_</text>
<text text-anchor="start" x="18" y="-1414.5" font-family="Helvetica,sans-Serif" font-size="10.00"># row_descriptor_</text>
<text text-anchor="start" x="18" y="-1403.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_phase_</text>
<text text-anchor="start" x="18" y="-1392.5" font-family="Helvetica,sans-Serif" font-size="10.00"># debug_action_</text>
<text text-anchor="start" x="18" y="-1381.5" font-family="Helvetica,sans-Serif" font-size="10.00"># limit_</text>
<text text-anchor="start" x="18" y="-1370.5" font-family="Helvetica,sans-Serif" font-size="10.00"># num_rows_returned_</text>
<text text-anchor="start" x="18" y="-1359.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 7 more...</text>
<text text-anchor="start" x="18" y="-1348.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; is_closed_</text>
<text text-anchor="start" x="18" y="-1337.5" font-family="Helvetica,sans-Serif" font-size="10.00">&#45; expr_ctxs_to_free_</text>
<polyline fill="none" stroke="black" points="10,-1330.5 192,-1330.5 "/>
<text text-anchor="start" x="18" y="-1318.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExecNode()</text>
<text text-anchor="start" x="18" y="-1307.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ExecNode()</text>
<text text-anchor="start" x="18" y="-1296.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
<text text-anchor="start" x="18" y="-1285.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Prepare()</text>
<text text-anchor="start" x="18" y="-1274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Open()</text>
<text text-anchor="start" x="18" y="-1263.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNext()</text>
<text text-anchor="start" x="18" y="-1252.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reset()</text>
<text text-anchor="start" x="18" y="-1241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Close()</text>
<text text-anchor="start" x="18" y="-1230.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectNodes()</text>
<text text-anchor="start" x="18" y="-1219.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CollectScanNodes()</text>
<text text-anchor="start" x="18" y="-1208.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 12 more...</text>
<text text-anchor="start" x="18" y="-1197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateTree()</text>
<text text-anchor="start" x="18" y="-1186.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetDebugOptions()</text>
<text text-anchor="start" x="18" y="-1175.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EvalConjuncts()</text>
<text text-anchor="start" x="18" y="-1164.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CodegenEvalConjuncts()</text>
<text text-anchor="start" x="18" y="-1153.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetNodeIdFromProfile()</text>
<text text-anchor="start" x="18" y="-1142.5" font-family="Helvetica,sans-Serif" font-size="10.00"># child()</text>
<text text-anchor="start" x="18" y="-1131.5" font-family="Helvetica,sans-Serif" font-size="10.00"># is_closed()</text>
<text text-anchor="start" x="18" y="-1120.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IsScanNode()</text>
<text text-anchor="start" x="18" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00"># InitRuntimeProfile()</text>
<text text-anchor="start" x="18" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ExecDebugAction()</text>
<text text-anchor="start" x="18" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddRuntimeExecOption()</text>
<text text-anchor="start" x="18" y="-1076.5" font-family="Helvetica,sans-Serif" font-size="10.00"># QueryMaintenance()</text>
<text text-anchor="start" x="18" y="-1065.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxToFree()</text>
<text text-anchor="start" x="18" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="18" y="-1043.5" font-family="Helvetica,sans-Serif" font-size="10.00"># AddExprCtxsToFree()</text>
<text text-anchor="start" x="18" y="-1032.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateNode()</text>
<text text-anchor="start" x="18" y="-1021.5" font-family="Helvetica,sans-Serif" font-size="10.00"># CreateTreeHelper()</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M101,-1004.11C101,-995.196 101,-986.228 101,-977.241"/>
<polygon fill="none" stroke="midnightblue" points="97.5001,-1004.15 101,-1014.15 104.5,-1004.15 97.5001,-1004.15"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classimpala_1_1HBaseScanNode__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>