Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
impala::HBaseScanNode Class Reference

#include <hbase-scan-node.h>

Inheritance diagram for impala::HBaseScanNode:
Collaboration diagram for impala::HBaseScanNode:

Public Member Functions

 HBaseScanNode (ObjectPool *pool, const TPlanNode &tnode, const DescriptorTbl &descs)
 
 ~HBaseScanNode ()
 
virtual Status Prepare (RuntimeState *state)
 
virtual Status Open (RuntimeState *state)
 Start HBase scan using hbase_scanner_. More...
 
virtual Status GetNext (RuntimeState *state, RowBatch *row_batch, bool *eos)
 
virtual Status Reset (RuntimeState *state)
 NYI. More...
 
virtual void Close (RuntimeState *state)
 Close the hbase_scanner_, and report errors. More...
 
const int suggested_max_caching () const
 
void SetScanRanges (const std::vector< TScanRangeParams > &scan_range_params)
 
virtual bool IsScanNode () const
 
RuntimeProfile::Counterbytes_read_counter () const
 
RuntimeProfile::Counterrows_read_counter () const
 
RuntimeProfile::Counterread_timer () const
 
RuntimeProfile::Countertotal_throughput_counter () const
 
RuntimeProfile::Counterper_read_thread_throughput_counter () const
 
RuntimeProfile::Countermaterialize_tuple_timer () const
 
RuntimeProfile::Counterscan_ranges_complete_counter () const
 
RuntimeProfile::ThreadCountersscanner_thread_counters () const
 
RuntimeProfile::Counteractive_scanner_thread_counter ()
 
RuntimeProfile::Counteraverage_scanner_thread_concurrency () const
 
virtual Status Init (const TPlanNode &tnode)
 
void CollectNodes (TPlanNodeType::type node_type, std::vector< ExecNode * > *nodes)
 
void CollectScanNodes (std::vector< ExecNode * > *nodes)
 Collect all scan node types. More...
 
std::string DebugString () const
 Returns a string representation in DFS order of the plan rooted at this. More...
 
const std::vector< ExprContext * > & conjunct_ctxs () const
 
int id () const
 
TPlanNodeType::type type () const
 
const RowDescriptorrow_desc () const
 
int64_t rows_returned () const
 
int64_t limit () const
 
bool ReachedLimit ()
 
RuntimeProfileruntime_profile ()
 
MemTrackermem_tracker ()
 
MemTrackerexpr_mem_tracker ()
 

Static Public Member Functions

static Status CreateTree (ObjectPool *pool, const TPlan &plan, const DescriptorTbl &descs, ExecNode **root)
 
static void SetDebugOptions (int node_id, TExecNodePhase::type phase, TDebugAction::type action, ExecNode *tree)
 Set debug action for node with given id in 'tree'. More...
 
static bool EvalConjuncts (ExprContext *const *ctxs, int num_ctxs, TupleRow *row)
 
static llvm::Function * CodegenEvalConjuncts (RuntimeState *state, const std::vector< ExprContext * > &conjunct_ctxs, const char *name="EvalConjuncts")
 
static int GetNodeIdFromProfile (RuntimeProfile *p)
 Extract node id from p->name(). More...
 

Static Public Attributes

static const std::string BYTES_READ_COUNTER = "BytesRead"
 names of ScanNode common counters More...
 
static const std::string ROWS_READ_COUNTER = "RowsRead"
 
static const std::string TOTAL_HDFS_READ_TIMER = "TotalRawHdfsReadTime(*)"
 
static const std::string TOTAL_HBASE_READ_TIMER = "TotalRawHBaseReadTime(*)"
 
static const std::string TOTAL_THROUGHPUT_COUNTER = "TotalReadThroughput"
 
static const std::string PER_READ_THREAD_THROUGHPUT_COUNTER
 
static const std::string NUM_DISKS_ACCESSED_COUNTER = "NumDisksAccessed"
 
static const std::string MATERIALIZE_TUPLE_TIMER = "MaterializeTupleTime(*)"
 
static const std::string SCAN_RANGES_COMPLETE_COUNTER = "ScanRangesComplete"
 
static const std::string SCANNER_THREAD_COUNTERS_PREFIX = "ScannerThreads"
 
static const std::string SCANNER_THREAD_TOTAL_WALLCLOCK_TIME
 
static const std::string AVERAGE_SCANNER_THREAD_CONCURRENCY
 
static const std::string AVERAGE_HDFS_READ_THREAD_CONCURRENCY
 
static const std::string NUM_SCANNER_THREADS_STARTED
 
static const std::string ROW_THROUGHPUT_COUNTER = "RowsReturnedRate"
 Names of counters shared by all exec nodes. More...
 

Protected Member Functions

virtual void DebugString (int indentation_level, std::stringstream *out) const
 Write debug string of this into out. More...
 
ExecNodechild (int i)
 
bool is_closed ()
 
void InitRuntimeProfile (const std::string &name)
 
Status ExecDebugAction (TExecNodePhase::type phase, RuntimeState *state)
 
void AddRuntimeExecOption (const std::string &option)
 Appends option to 'runtime_exec_options_'. More...
 
virtual Status QueryMaintenance (RuntimeState *state)
 
void AddExprCtxToFree (ExprContext *ctx)
 
void AddExprCtxsToFree (const std::vector< ExprContext * > &ctxs)
 
void AddExprCtxsToFree (const SortExecExprs &sort_exec_exprs)
 

Static Protected Member Functions

static Status CreateNode (ObjectPool *pool, const TPlanNode &tnode, const DescriptorTbl &descs, ExecNode **node)
 Create a single exec node derived from thrift node; place exec node in 'pool'. More...
 
static Status CreateTreeHelper (ObjectPool *pool, const std::vector< TPlanNode > &tnodes, const DescriptorTbl &descs, ExecNode *parent, int *node_idx, ExecNode **root)
 

Protected Attributes

const std::vector
< TScanRangeParams > * 
scan_range_params_
 The scan ranges this scan node is responsible for. Not owned. More...
 
RuntimeProfile::Counterbytes_read_counter_
 
RuntimeProfile::TimeSeriesCounterbytes_read_timeseries_counter_
 Time series of the bytes_read_counter_. More...
 
RuntimeProfile::Counterrows_read_counter_
 

rows/tuples read from the scanner (including those discarded by EvalConjucts())

More...
 
RuntimeProfile::Counterread_timer_
 
RuntimeProfile::Countertotal_throughput_counter_
 Wall based aggregate read throughput [bytes/sec]. More...
 
RuntimeProfile::Counterper_read_thread_throughput_counter_
 Per thread read throughput [bytes/sec]. More...
 
RuntimeProfile::Counternum_disks_accessed_counter_
 
RuntimeProfile::Countermaterialize_tuple_timer_
 
RuntimeProfile::Counterscan_ranges_complete_counter_
 
RuntimeProfile::ThreadCountersscanner_thread_counters_
 Aggregated scanner thread counters. More...
 
RuntimeProfile::Counter active_scanner_thread_counter_
 The number of active scanner threads that are not blocked by IO. More...
 
RuntimeProfile::Counteraverage_scanner_thread_concurrency_
 
RuntimeProfile::Counter active_hdfs_read_thread_counter_
 The number of active hdfs reading threads reading for this node. More...
 
RuntimeProfile::Counteraverage_hdfs_read_thread_concurrency_
 
RuntimeProfile::Counternum_scanner_threads_started_counter_
 
std::vector
< RuntimeProfile::Counter * > 
hdfs_read_thread_concurrency_bucket_
 
int id_
 
TPlanNodeType::type type_
 
ObjectPoolpool_
 
std::vector< ExprContext * > conjunct_ctxs_
 
std::vector< ExecNode * > children_
 
RowDescriptor row_descriptor_
 
TExecNodePhase::type debug_phase_
 
TDebugAction::type debug_action_
 
int64_t limit_
 
int64_t num_rows_returned_
 
boost::scoped_ptr< RuntimeProfileruntime_profile_
 
RuntimeProfile::Counterrows_returned_counter_
 
RuntimeProfile::Counterrows_returned_rate_
 
boost::scoped_ptr< MemTrackermem_tracker_
 Account for peak memory used by this node. More...
 
boost::scoped_ptr< MemTrackerexpr_mem_tracker_
 MemTracker that should be used for ExprContexts. More...
 
boost::mutex exec_options_lock_
 
std::string runtime_exec_options_
 

Private Member Functions

void WriteTextSlot (const std::string &family, const std::string &qualifier, void *value, int value_length, SlotDescriptor *slot, RuntimeState *state, bool *error_in_row)
 

Static Private Member Functions

static bool CmpColPos (const SlotDescriptor *a, const SlotDescriptor *b)
 Compare two slots based on their column position, to sort them ascending. More...
 

Private Attributes

const std::string table_name_
 Name of HBase table (not necessarily the table name mapped to Hive). More...
 
TupleId tuple_id_
 Tuple id resolved in Prepare() to set tuple_desc_;. More...
 
const TupleDescriptortuple_desc_
 Descriptor of tuples read from HBase table. More...
 
int tuple_idx_
 Tuple index in tuple row. More...
 
HBaseTableScanner::ScanRangeVector scan_range_vector_
 scan ranges of a region server More...
 
std::vector< THBaseFilter > filters_
 HBase Filters to be set in HBaseTableScanner. More...
 
int num_errors_
 Counts the total number of conversion errors for this table. More...
 
boost::scoped_ptr< MemPooltuple_pool_
 Pool for allocating tuple data, including all varying-length slots. More...
 
boost::scoped_ptr
< HBaseTableScanner
hbase_scanner_
 Jni helper for scanning an HBase table. More...
 
std::vector< SlotDescriptor * > sorted_non_key_slots_
 List of non-row-key slots sorted by col_pos(). Populated in Prepare(). More...
 
std::vector< const
HBaseTableDescriptor::HBaseColumnDescriptor * > 
sorted_cols_
 
SlotDescriptorrow_key_slot_
 
bool row_key_binary_encoded_
 True, if row key is binary encoded. More...
 
int tuple_buffer_size_
 Size of tuple buffer determined by size of tuples and capacity of row batches. More...
 
Tupletuple_
 Current tuple. More...
 
boost::scoped_ptr< TextConvertertext_converter_
 Helper class for converting text to other types;. More...
 
int suggested_max_caching_
 

Static Private Attributes

static const int SKIP_COLUMN = -1
 
static const int ROW_KEY = 0
 Column 0 in the Impala metadata refers to the HBasw row key. More...
 

Detailed Description

Definition at line 29 of file hbase-scan-node.h.

Constructor & Destructor Documentation

HBaseScanNode::HBaseScanNode ( ObjectPool pool,
const TPlanNode &  tnode,
const DescriptorTbl descs 
)

Definition at line 34 of file hbase-scan-node.cc.

References suggested_max_caching_.

HBaseScanNode::~HBaseScanNode ( )

Definition at line 53 of file hbase-scan-node.cc.

Member Function Documentation

RuntimeProfile::Counter& impala::ScanNode::active_scanner_thread_counter ( )
inlineinherited

Definition at line 113 of file scan-node.h.

References impala::ScanNode::active_scanner_thread_counter_.

void impala::ExecNode::AddExprCtxsToFree ( const SortExecExprs sort_exec_exprs)
protectedinherited
void impala::ExecNode::AddExprCtxToFree ( ExprContext ctx)
inlineprotectedinherited

Add an ExprContext to have its local allocations freed by QueryMaintenance(). Exprs that are evaluated in the main execution thread should be added. Exprs evaluated in a separate thread are generally not safe to add, since a local allocation may be freed while it's being used. Rather than using this mechanism, threads should call FreeLocalAllocations() on local ExprContexts periodically.

Definition at line 276 of file exec-node.h.

References impala::ExecNode::expr_ctxs_to_free_.

Referenced by impala::AnalyticEvalNode::Prepare().

RuntimeProfile::Counter* impala::ScanNode::average_scanner_thread_concurrency ( ) const
inlineinherited
ExecNode* impala::ExecNode::child ( int  i)
inlineprotectedinherited

Definition at line 241 of file exec-node.h.

References impala::ExecNode::children_.

Referenced by impala::CrossJoinNode::BuildListDebugString(), impala::BlockingJoinNode::BuildSideThread(), impala::HashJoinNode::CodegenCreateOutputRow(), impala::PartitionedHashJoinNode::CodegenCreateOutputRow(), impala::CrossJoinNode::ConstructBuildSide(), impala::HashJoinNode::ConstructBuildSide(), impala::PartitionedHashJoinNode::ConstructBuildSide(), impala::BlockingJoinNode::GetLeftChildRowString(), impala::SelectNode::GetNext(), impala::UnionNode::GetNext(), impala::CrossJoinNode::GetNext(), impala::HashJoinNode::GetNext(), impala::AnalyticEvalNode::GetNextOutputBatch(), impala::PartitionedAggregationNode::Partition::InitStreams(), impala::HashJoinNode::LeftJoinGetNext(), impala::PartitionedHashJoinNode::NextProbeRowBatch(), impala::SelectNode::Open(), impala::SortNode::Open(), impala::TopNNode::Open(), impala::BlockingJoinNode::Open(), impala::AggregationNode::Open(), impala::AnalyticEvalNode::Open(), impala::PartitionedAggregationNode::Open(), impala::UnionNode::OpenCurrentChild(), impala::SelectNode::Prepare(), impala::SortNode::Prepare(), impala::UnionNode::Prepare(), impala::TopNNode::Prepare(), impala::BlockingJoinNode::Prepare(), impala::HashJoinNode::Prepare(), impala::AggregationNode::Prepare(), impala::AnalyticEvalNode::Prepare(), impala::PartitionedHashJoinNode::Prepare(), impala::PartitionedAggregationNode::Prepare(), impala::PartitionedHashJoinNode::ProcessBuildInput(), impala::AnalyticEvalNode::ProcessChildBatches(), and impala::SortNode::SortInput().

static bool impala::HBaseScanNode::CmpColPos ( const SlotDescriptor a,
const SlotDescriptor b 
)
staticprivate

Compare two slots based on their column position, to sort them ascending.

void impala::ExecNode::CollectNodes ( TPlanNodeType::type  node_type,
std::vector< ExecNode * > *  nodes 
)
inherited

Collect all nodes of given 'node_type' that are part of this subtree, and return in 'nodes'.

Definition at line 359 of file exec-node.cc.

References impala::ExecNode::children_, and impala::ExecNode::type_.

Referenced by impala::ExecNode::CollectScanNodes(), and impala::PlanFragmentExecutor::Prepare().

void impala::ExecNode::CollectScanNodes ( std::vector< ExecNode * > *  nodes)
inherited

Collect all scan node types.

Definition at line 366 of file exec-node.cc.

References impala::ExecNode::CollectNodes().

Referenced by impala::PlanFragmentExecutor::Prepare().

Status impala::ExecNode::CreateNode ( ObjectPool pool,
const TPlanNode &  tnode,
const DescriptorTbl descs,
ExecNode **  node 
)
staticprotectedinherited

Create a single exec node derived from thrift node; place exec node in 'pool'.

Definition at line 260 of file exec-node.cc.

References impala::ObjectPool::Add(), impala::Status::OK, and RETURN_IF_ERROR.

Referenced by impala::ExecNode::CreateTreeHelper().

Status impala::ExecNode::CreateTree ( ObjectPool pool,
const TPlan &  plan,
const DescriptorTbl descs,
ExecNode **  root 
)
staticinherited

Creates exec node tree from list of nodes contained in plan via depth-first traversal. All nodes are placed in pool. Returns error if 'plan' is corrupted, otherwise success.

Definition at line 199 of file exec-node.cc.

References impala::ExecNode::CreateTreeHelper(), impala::Status::OK, and impala::Status::ok().

Referenced by impala::PlanFragmentExecutor::Prepare().

Status impala::ExecNode::CreateTreeHelper ( ObjectPool pool,
const std::vector< TPlanNode > &  tnodes,
const DescriptorTbl descs,
ExecNode parent,
int *  node_idx,
ExecNode **  root 
)
staticprotectedinherited
void HBaseScanNode::DebugString ( int  indentation_level,
std::stringstream *  out 
) const
protectedvirtual

Write debug string of this into out.

Reimplemented from impala::ExecNode.

Definition at line 294 of file hbase-scan-node.cc.

References impala::ExecNode::children_, impala::HBaseTableScanner::ScanRange::DebugString(), scan_range_vector_, table_name_, and tuple_id_.

Status HBaseScanNode::GetNext ( RuntimeState state,
RowBatch row_batch,
bool eos 
)
virtual

Fill the next row batch by calling Next() on the hbase_scanner_, converting text data in HBase cells to binary data.

Implements impala::ExecNode.

Definition at line 147 of file hbase-scan-node.cc.

References impala::RuntimeState::abort_on_error(), impala::MemPool::AcquireData(), impala::RowBatch::AddRow(), impala::RowBatch::AtCapacity(), impala::TupleDescriptor::byte_size(), impala::RowBatch::CommitLastRow(), impala::ExecNode::conjunct_ctxs_, COUNTER_ADD, COUNTER_SET, impala::Tuple::Create(), impala::RuntimeState::ErrorLog(), impala::ExecNode::EvalConjuncts(), impala::ExecNode::ExecDebugAction(), getJNIEnv(), impala::RowBatch::GetRow(), hbase_scanner_, impala::Tuple::Init(), impala::RuntimeState::LogError(), impala::RuntimeState::LogHasSpace(), impala::ScanNode::materialize_tuple_timer(), impala::RowBatch::MaxTupleBufferSize(), num_errors_, impala::ExecNode::num_rows_returned_, impala::Status::OK, impala::ExecNode::QueryMaintenance(), impala::ExecNode::ReachedLimit(), impala::RuntimeState::ReportFileErrors(), RETURN_IF_CANCELLED, RETURN_IF_ERROR, row_key_binary_encoded_, row_key_slot_, impala::ScanNode::rows_read_counter_, impala::ExecNode::rows_returned_counter_, impala::ExecNode::runtime_profile_, scan_range_vector_, impala::ScanNode::scanner_thread_counters(), SCOPED_THREAD_COUNTER_MEASUREMENT, SCOPED_TIMER, impala::Tuple::SetNull(), impala::TupleRow::SetTuple(), sorted_cols_, sorted_non_key_slots_, impala::TupleDescriptor::table_desc(), impala::HBaseTableDescriptor::table_name(), table_name_, tuple_, tuple_buffer_size_, impala::RowBatch::tuple_data_pool(), tuple_desc_, tuple_idx_, tuple_pool_, and WriteTextSlot().

int impala::ExecNode::GetNodeIdFromProfile ( RuntimeProfile p)
staticinherited

Extract node id from p->name().

Definition at line 62 of file exec-node.cc.

References impala::RuntimeProfile::metadata().

void impala::ExecNode::InitRuntimeProfile ( const std::string &  name)
protectedinherited
virtual bool impala::ScanNode::IsScanNode ( ) const
inlinevirtualinherited

Reimplemented from impala::ExecNode.

Definition at line 93 of file scan-node.h.

int64_t impala::ExecNode::limit ( ) const
inlineinherited
RuntimeProfile::Counter* impala::ScanNode::per_read_thread_throughput_counter ( ) const
inlineinherited
Status impala::ExecNode::QueryMaintenance ( RuntimeState state)
protectedvirtualinherited
RuntimeProfile::Counter* impala::ScanNode::read_timer ( ) const
inlineinherited
Status HBaseScanNode::Reset ( RuntimeState state)
virtual

NYI.

Reimplemented from impala::ExecNode.

Definition at line 272 of file hbase-scan-node.cc.

const RowDescriptor& impala::ExecNode::row_desc ( ) const
inlineinherited
RuntimeProfile::Counter* impala::ScanNode::scan_ranges_complete_counter ( ) const
inlineinherited

Definition at line 107 of file scan-node.h.

References impala::ScanNode::scan_ranges_complete_counter_.

RuntimeProfile::ThreadCounters* impala::ScanNode::scanner_thread_counters ( ) const
inlineinherited
void impala::ExecNode::SetDebugOptions ( int  node_id,
TExecNodePhase::type  phase,
TDebugAction::type  action,
ExecNode tree 
)
staticinherited

Set debug action for node with given id in 'tree'.

Definition at line 332 of file exec-node.cc.

References impala::ExecNode::children_, impala::ExecNode::debug_action_, impala::ExecNode::debug_phase_, and impala::ExecNode::id_.

Referenced by impala::PlanFragmentExecutor::Prepare().

void impala::ScanNode::SetScanRanges ( const std::vector< TScanRangeParams > &  scan_range_params)
inlineinherited

This should be called before Prepare(), and the argument must be not destroyed until after Prepare().

Definition at line 89 of file scan-node.h.

References impala::ScanNode::scan_range_params_.

Referenced by impala::PlanFragmentExecutor::Prepare().

const int impala::HBaseScanNode::suggested_max_caching ( ) const
inline

Definition at line 52 of file hbase-scan-node.h.

References suggested_max_caching_.

Referenced by impala::HBaseTableScanner::HBaseTableScanner().

RuntimeProfile::Counter* impala::ScanNode::total_throughput_counter ( ) const
inlineinherited
TPlanNodeType::type impala::ExecNode::type ( ) const
inlineinherited
void HBaseScanNode::WriteTextSlot ( const std::string &  family,
const std::string &  qualifier,
void *  value,
int  value_length,
SlotDescriptor slot,
RuntimeState state,
bool error_in_row 
)
private

Writes a slot in tuple_ from an HBase value containing text data. The HBase value is converted into the appropriate target type.

Definition at line 129 of file hbase-scan-node.cc.

References impala::RuntimeState::LogError(), impala::RuntimeState::LogHasSpace(), text_converter_, tuple_, tuple_pool_, and impala::SlotDescriptor::type().

Referenced by GetNext().

Member Data Documentation

RuntimeProfile::Counter impala::ScanNode::active_hdfs_read_thread_counter_
protectedinherited

The number of active hdfs reading threads reading for this node.

Definition at line 164 of file scan-node.h.

Referenced by impala::HdfsScanNode::Close(), and impala::HdfsScanNode::Open().

RuntimeProfile::Counter impala::ScanNode::active_scanner_thread_counter_
protectedinherited
const string impala::ScanNode::AVERAGE_HDFS_READ_THREAD_CONCURRENCY
staticinherited
Initial value:
=
"AverageHdfsReadThreadConcurrency"

Definition at line 133 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::average_hdfs_read_thread_concurrency_
protectedinherited

Average number of active hdfs reading threads This should be created in Open and stopped when all the scanner threads are done.

Definition at line 168 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open(), and impala::HdfsScanNode::StopAndFinalizeCounters().

const string impala::ScanNode::AVERAGE_SCANNER_THREAD_CONCURRENCY
staticinherited
Initial value:
=
"AverageScannerThreadConcurrency"

Definition at line 132 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::average_scanner_thread_concurrency_
protectedinherited

Average number of active scanner threads This should be created in Open and stopped when all the scanner threads are done.

Definition at line 161 of file scan-node.h.

Referenced by impala::ScanNode::average_scanner_thread_concurrency(), impala::HdfsScanNode::Open(), and impala::HdfsScanNode::StopAndFinalizeCounters().

const string impala::ScanNode::BYTES_READ_COUNTER = "BytesRead"
staticinherited

names of ScanNode common counters

Definition at line 121 of file scan-node.h.

Referenced by impala::ScanNode::Prepare().

RuntimeProfile::Counter* impala::ScanNode::bytes_read_counter_
protectedinherited
RuntimeProfile::TimeSeriesCounter* impala::ScanNode::bytes_read_timeseries_counter_
protectedinherited

Time series of the bytes_read_counter_.

Definition at line 142 of file scan-node.h.

Referenced by Close(), impala::ScanNode::Prepare(), and impala::HdfsScanNode::StopAndFinalizeCounters().

TDebugAction::type impala::ExecNode::debug_action_
protectedinherited
TExecNodePhase::type impala::ExecNode::debug_phase_
protectedinherited

debug-only: if debug_action_ is not INVALID, node will perform action in debug_phase_

Definition at line 219 of file exec-node.h.

Referenced by impala::ExecNode::ExecDebugAction(), and impala::ExecNode::SetDebugOptions().

boost::mutex impala::ExecNode::exec_options_lock_
protectedinherited

Execution options that are determined at runtime. This is added to the runtime profile at Close(). Examples for options logged here would be "Codegen Enabled"

Definition at line 238 of file exec-node.h.

Referenced by impala::ExecNode::AddRuntimeExecOption().

boost::scoped_ptr<MemTracker> impala::ExecNode::expr_mem_tracker_
protectedinherited

MemTracker that should be used for ExprContexts.

Definition at line 233 of file exec-node.h.

Referenced by impala::ExecNode::expr_mem_tracker(), and impala::ExecNode::Prepare().

std::vector<THBaseFilter> impala::HBaseScanNode::filters_
private

HBase Filters to be set in HBaseTableScanner.

Definition at line 82 of file hbase-scan-node.h.

Referenced by Open().

boost::scoped_ptr<HBaseTableScanner> impala::HBaseScanNode::hbase_scanner_
private

Jni helper for scanning an HBase table.

Definition at line 91 of file hbase-scan-node.h.

Referenced by Close(), GetNext(), Open(), and Prepare().

std::vector<RuntimeProfile::Counter*> impala::ScanNode::hdfs_read_thread_concurrency_bucket_
protectedinherited

HDFS read thread concurrency bucket: bucket[i] refers to the number of sample taken where there are i concurrent hdfs read thread running

Definition at line 174 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open(), and impala::HdfsScanNode::StopAndFinalizeCounters().

const string impala::ScanNode::MATERIALIZE_TUPLE_TIMER = "MaterializeTupleTime(*)"
staticinherited

Definition at line 128 of file scan-node.h.

Referenced by impala::ScanNode::Prepare().

RuntimeProfile::Counter* impala::ScanNode::materialize_tuple_timer_
protectedinherited
boost::scoped_ptr<MemTracker> impala::ExecNode::mem_tracker_
protectedinherited

Account for peak memory used by this node.

Definition at line 230 of file exec-node.h.

Referenced by impala::ExecNode::mem_tracker(), and impala::ExecNode::Prepare().

const string impala::ScanNode::NUM_DISKS_ACCESSED_COUNTER = "NumDisksAccessed"
staticinherited

Definition at line 127 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::num_disks_accessed_counter_
protectedinherited
int impala::HBaseScanNode::num_errors_
private

Counts the total number of conversion errors for this table.

Definition at line 85 of file hbase-scan-node.h.

Referenced by Close(), and GetNext().

const string impala::ScanNode::NUM_SCANNER_THREADS_STARTED
staticinherited
Initial value:
=
"NumScannerThreadsStarted"

Definition at line 134 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::num_scanner_threads_started_counter_
protectedinherited
const string impala::ScanNode::PER_READ_THREAD_THROUGHPUT_COUNTER
staticinherited
Initial value:
=
"PerReadThreadRawHdfsThroughput"

Definition at line 126 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::per_read_thread_throughput_counter_
protectedinherited

Per thread read throughput [bytes/sec].

Definition at line 149 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open(), and impala::ScanNode::per_read_thread_throughput_counter().

RuntimeProfile::Counter* impala::ScanNode::read_timer_
protectedinherited

Definition at line 145 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open(), Prepare(), and impala::ScanNode::read_timer().

RowDescriptor impala::ExecNode::row_descriptor_
protectedinherited
const int impala::HBaseScanNode::ROW_KEY = 0
staticprivate

Column 0 in the Impala metadata refers to the HBasw row key.

Definition at line 61 of file hbase-scan-node.h.

Referenced by Prepare().

bool impala::HBaseScanNode::row_key_binary_encoded_
private

True, if row key is binary encoded.

Definition at line 107 of file hbase-scan-node.h.

Referenced by GetNext(), and Prepare().

SlotDescriptor* impala::HBaseScanNode::row_key_slot_
private

Slot into which the HBase row key is written. NULL if row key is not requested.

Definition at line 104 of file hbase-scan-node.h.

Referenced by GetNext(), and Prepare().

const string impala::ExecNode::ROW_THROUGHPUT_COUNTER = "RowsReturnedRate"
staticinherited

Names of counters shared by all exec nodes.

Definition at line 169 of file exec-node.h.

Referenced by impala::ExecNode::Prepare().

const string impala::ScanNode::ROWS_READ_COUNTER = "RowsRead"
staticinherited

Definition at line 122 of file scan-node.h.

Referenced by impala::ScanNode::Prepare().

RuntimeProfile::Counter* impala::ScanNode::rows_read_counter_
protectedinherited

rows/tuples read from the scanner (including those discarded by EvalConjucts())

Definition at line 144 of file scan-node.h.

Referenced by GetNext(), impala::ScanNode::Prepare(), and impala::ScanNode::rows_read_counter().

RuntimeProfile::Counter* impala::ExecNode::rows_returned_rate_
protectedinherited

Definition at line 227 of file exec-node.h.

Referenced by impala::ExecNode::Prepare().

std::string impala::ExecNode::runtime_exec_options_
protectedinherited

Definition at line 239 of file exec-node.h.

Referenced by impala::ExecNode::AddRuntimeExecOption().

const std::vector<TScanRangeParams>* impala::ScanNode::scan_range_params_
protectedinherited

The scan ranges this scan node is responsible for. Not owned.

Definition at line 138 of file scan-node.h.

Referenced by Prepare(), impala::HdfsScanNode::Prepare(), and impala::ScanNode::SetScanRanges().

HBaseTableScanner::ScanRangeVector impala::HBaseScanNode::scan_range_vector_
private

scan ranges of a region server

Definition at line 79 of file hbase-scan-node.h.

Referenced by DebugString(), GetNext(), Open(), and Prepare().

const string impala::ScanNode::SCAN_RANGES_COMPLETE_COUNTER = "ScanRangesComplete"
staticinherited

Definition at line 129 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

RuntimeProfile::Counter* impala::ScanNode::scan_ranges_complete_counter_
protectedinherited
RuntimeProfile::ThreadCounters* impala::ScanNode::scanner_thread_counters_
protectedinherited

Aggregated scanner thread counters.

Definition at line 154 of file scan-node.h.

Referenced by impala::ScanNode::Prepare(), and impala::ScanNode::scanner_thread_counters().

const string impala::ScanNode::SCANNER_THREAD_COUNTERS_PREFIX = "ScannerThreads"
staticinherited

Definition at line 130 of file scan-node.h.

Referenced by impala::ScanNode::Prepare().

const string impala::ScanNode::SCANNER_THREAD_TOTAL_WALLCLOCK_TIME
staticinherited
Initial value:
=
"ScannerThreadsTotalWallClockTime"

Definition at line 131 of file scan-node.h.

Referenced by impala::HdfsTextScanner::Prepare(), and impala::ScanNode::Prepare().

const int impala::HBaseScanNode::SKIP_COLUMN = -1
staticprivate

Definition at line 59 of file hbase-scan-node.h.

std::vector<const HBaseTableDescriptor::HBaseColumnDescriptor* > impala::HBaseScanNode::sorted_cols_
private

List of pointers to family/qualifier/binary encoding in same sort order as sorted_non_key_slots_. The memory pointed to by the list-elements is owned by the corresponding HBaseTableDescriptor.

Definition at line 100 of file hbase-scan-node.h.

Referenced by GetNext(), and Prepare().

std::vector<SlotDescriptor*> impala::HBaseScanNode::sorted_non_key_slots_
private

List of non-row-key slots sorted by col_pos(). Populated in Prepare().

Definition at line 94 of file hbase-scan-node.h.

Referenced by GetNext(), and Prepare().

int impala::HBaseScanNode::suggested_max_caching_
private

Max value for "setCaching" suggested by FE. If no value was suggested by the FE, this will be 0.

Definition at line 120 of file hbase-scan-node.h.

Referenced by HBaseScanNode(), and suggested_max_caching().

const std::string impala::HBaseScanNode::table_name_
private

Name of HBase table (not necessarily the table name mapped to Hive).

Definition at line 67 of file hbase-scan-node.h.

Referenced by Close(), DebugString(), and GetNext().

boost::scoped_ptr<TextConverter> impala::HBaseScanNode::text_converter_
private

Helper class for converting text to other types;.

Definition at line 116 of file hbase-scan-node.h.

Referenced by WriteTextSlot().

const string impala::ScanNode::TOTAL_HBASE_READ_TIMER = "TotalRawHBaseReadTime(*)"
staticinherited

Definition at line 124 of file scan-node.h.

Referenced by Prepare().

const string impala::ScanNode::TOTAL_HDFS_READ_TIMER = "TotalRawHdfsReadTime(*)"
staticinherited

Definition at line 123 of file scan-node.h.

Referenced by impala::HdfsScanNode::Open().

const string impala::ScanNode::TOTAL_THROUGHPUT_COUNTER = "TotalReadThroughput"
staticinherited

Definition at line 125 of file scan-node.h.

Referenced by impala::ScanNode::Prepare().

RuntimeProfile::Counter* impala::ScanNode::total_throughput_counter_
protectedinherited

Wall based aggregate read throughput [bytes/sec].

Definition at line 147 of file scan-node.h.

Referenced by impala::ScanNode::Prepare(), and impala::ScanNode::total_throughput_counter().

Tuple* impala::HBaseScanNode::tuple_
private

Current tuple.

Definition at line 113 of file hbase-scan-node.h.

Referenced by GetNext(), and WriteTextSlot().

int impala::HBaseScanNode::tuple_buffer_size_
private

Size of tuple buffer determined by size of tuples and capacity of row batches.

Definition at line 110 of file hbase-scan-node.h.

Referenced by GetNext().

const TupleDescriptor* impala::HBaseScanNode::tuple_desc_
private

Descriptor of tuples read from HBase table.

Definition at line 73 of file hbase-scan-node.h.

Referenced by GetNext(), Open(), and Prepare().

TupleId impala::HBaseScanNode::tuple_id_
private

Tuple id resolved in Prepare() to set tuple_desc_;.

Definition at line 70 of file hbase-scan-node.h.

Referenced by DebugString(), and Prepare().

int impala::HBaseScanNode::tuple_idx_
private

Tuple index in tuple row.

Definition at line 76 of file hbase-scan-node.h.

Referenced by GetNext(), and Prepare().

boost::scoped_ptr<MemPool> impala::HBaseScanNode::tuple_pool_
private

Pool for allocating tuple data, including all varying-length slots.

Definition at line 88 of file hbase-scan-node.h.

Referenced by Close(), GetNext(), Prepare(), and WriteTextSlot().

TPlanNodeType::type impala::ExecNode::type_
protectedinherited

Definition at line 210 of file exec-node.h.

Referenced by impala::ExecNode::CollectNodes(), and impala::ExecNode::type().


The documentation for this class was generated from the following files: