Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <vector>
#include <string>
#include <boost/scoped_ptr.hpp>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/stats.hpp>
#include <boost/accumulators/statistics/min.hpp>
#include <boost/accumulators/statistics/mean.hpp>
#include <boost/accumulators/statistics/median.hpp>
#include <boost/accumulators/statistics/max.hpp>
#include <boost/accumulators/statistics/variance.hpp>
#include <boost/unordered_map.hpp>
#include <boost/unordered_set.hpp>
#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition_variable.hpp>
#include "common/status.h"
#include "common/global-types.h"
#include "util/progress-updater.h"
#include "util/runtime-profile.h"
#include "runtime/runtime-state.h"
#include "statestore/simple-scheduler.h"
#include "gen-cpp/Types_types.h"
#include "gen-cpp/Frontend_types.h"
Go to the source code of this file.
Classes | |
struct | impala::FragmentInstanceCounters |
Struct for per fragment instance counters that will be aggregated by the coordinator. More... | |
struct | impala::PerFragmentProfileData |
Per fragment profile information. More... | |
Namespaces | |
impala | |
This file contains type definitions that are used throughout the code base. | |
Typedefs | |
typedef boost::accumulators::accumulator_set < int64_t, boost::accumulators::features < boost::accumulators::tag::min, boost::accumulators::tag::max, boost::accumulators::tag::mean, boost::accumulators::tag::variance > > | impala::SummaryStats |
typedef std::map< PlanNodeId, RuntimeProfile::Counter * > | impala::CounterMap |
map from id of a scan node to a specific counter in the node's profile More... | |
typedef boost::unordered_map < TUniqueId, BackendExecState * > | impala::BackendExecStateMap |
typedef boost::unordered_map < std::string, std::pair< bool, short > > | impala::PermissionCache |
Functions | |
impala::~Coordinator () | |
Status | impala::Exec (QuerySchedule &schedule, std::vector< ExprContext * > *output_expr_ctxs) |
Status | impala::Wait () |
Status | impala::GetNext (RowBatch **batch, RuntimeState *state) |
void | impala::Cancel (const Status *cause=NULL) |
Status | impala::UpdateFragmentExecStatus (const TReportExecStatusParams ¶ms) |
RuntimeState * | impala::runtime_state () |
only valid after calling Exec(), and may return NULL if there is no executor More... | |
const RowDescriptor & | impala::row_desc () const |
MemTracker * | impala::query_mem_tracker () |
RuntimeProfile * | impala::query_profile () const |
const TUniqueId & | impala::query_id () const |
const PartitionStatusMap & | impala::per_partition_status () |
This is safe to call only after Wait() More... | |
bool | impala::PrepareCatalogUpdate (TUpdateCatalogRequest *catalog_update) |
std::string | impala::GetErrorLog () |
const ProgressUpdater & | impala::progress () |
Status | impala::GetStatus () |
Returns query_status_. More... | |
const TExecSummary & | impala::exec_summary () const |
SpinLock & | impala::GetExecSummaryLock () const |
ObjectPool * | impala::obj_pool () |
Returns a local object pool. More... | |
void | impala::SetExecPlanFragmentParams (QuerySchedule &schedule, int backend_num, const TPlanFragment &fragment, int fragment_idx, const FragmentExecParams ¶ms, int instance_idx, const TNetworkAddress &coord, TExecPlanFragmentParams *rpc_params) |
Fill in rpc_params based on parameters. More... | |
Status | impala::ExecRemoteFragment (void *exec_state) |
int | impala::GetFragmentNum (const TUniqueId &fragment_id) |
Determine fragment number, given fragment id. More... | |
void | impala::PrintBackendInfo () |
void | impala::CreateAggregateCounters (const std::vector< TPlanFragment > &fragments) |
Create aggregate counters for all scan nodes in any of the fragments. More... | |
void | impala::CollectScanNodeCounters (RuntimeProfile *, FragmentInstanceCounters *result) |
int64_t | impala::ComputeTotalThroughput (int node_id) |
int64_t | impala::ComputeTotalScanRangesComplete (int node_id) |
void | impala::CancelInternal () |
Runs cancel logic. Assumes that lock_ is held. More... | |
void | impala::CancelRemoteFragments () |
Status | impala::UpdateStatus (const Status &status, const TUniqueId *failed_fragment) |
Status | impala::WaitForAllBackends () |
Status | impala::FinalizeQuery () |
Status | impala::FinalizeSuccessfulInsert () |
Moves all temporary staging files to their final destinations. More... | |
void | impala::InitExecProfile (const TQueryExecRequest &request) |
void | impala::UpdateAverageProfile (BackendExecState *backend_exec_state) |
void | impala::ComputeFragmentSummaryStats (BackendExecState *backend_exec_state) |
void | impala::ReportQuerySummary () |
void | impala::UpdateExecSummary (int fragment_idx, int instance_idx, RuntimeProfile *profile) |
void | impala::PopulatePathPermissionCache (hdfsFS fs, const std::string &path_str, PermissionCache *permissions_cache) |
Variables | |
client | impala::__pad0__ |
client RuntimeProfile::EventSequence * | impala::events |
ExecEnv * | impala::exec_env_ |
TUniqueId | impala::query_id_ |
TDescriptorTable | impala::desc_tbl_ |
copied from TQueryExecRequest; constant across all fragments More... | |
TQueryCtx | impala::query_ctx_ |
TStmtType::type | impala::stmt_type_ |
copied from TQueryExecRequest, governs when to call ReportQuerySummary More... | |
std::vector< BackendExecState * > | impala::backend_exec_states_ |
BackendExecStates owned by obj_pool() More... | |
bool | impala::needs_finalization_ |
True if the query needs a post-execution step to tidy up. More... | |
TFinalizeParams | impala::finalize_params_ |
Only valid if needs_finalization is true. More... | |
boost::mutex | impala::wait_lock_ |
ensures single-threaded execution of Wait(); must not hold lock_ when acquiring this More... | |
bool | impala::has_called_wait_ |
ProgressUpdater | impala::progress_ |
Keeps track of number of completed ranges and total scan ranges. More... | |
boost::mutex | impala::lock_ |
protects all fields below More... | |
Status | impala::query_status_ |
bool | impala::returned_all_results_ |
boost::shared_ptr< MemTracker > | impala::query_mem_tracker_ |
const RowDescriptor * | impala::row_desc_ |
owned by plan root, which resides in runtime_state_'s pool More... | |
BackendExecStateMap | impala::backend_exec_state_map_ |
bool | impala::execution_completed_ |
True if execution has completed, false otherwise. More... | |
int | impala::num_remote_fragements_complete_ |
Number of remote fragments that have completed. More... | |
boost::condition_variable | impala::backend_completion_cv_ |
int | impala::num_remaining_backends_ |
PartitionStatusMap | impala::per_partition_status_ |
FileMoveMap | impala::files_to_move_ |
boost::scoped_ptr< ObjectPool > | impala::obj_pool_ |
Object pool owned by the coordinator. Any executor will have its own pool. More... | |
SpinLock | impala::exec_summary_lock_ |
Execution summary for this query. More... | |
TExecSummary | impala::exec_summary_ |
boost::unordered_map < TPlanNodeId, int > | impala::plan_node_id_to_summary_map_ |
A mapping of plan node ids to index into exec_summary_.nodes. More... | |
boost::scoped_ptr< RuntimeProfile > | impala::query_profile_ |
Aggregate counters for the entire query. More... | |
RuntimeProfile::EventSequence * | impala::query_events_ |
Event timeline for this query. Unowned. More... | |
std::vector < PerFragmentProfileData > | impala::fragment_profiles_ |
FragmentInstanceCounters | impala::coordinator_counters_ |
Throughput counters for the coordinator fragment. More... | |
boost::unordered_set < TNetworkAddress > | impala::unique_hosts_ |
The set of hosts that the query will run on. Populated in Exec. More... | |
RuntimeProfile::Counter * | impala::finalization_timer_ |
Total time spent in finalization (typically 0 except for INSERT into hdfs tables) More... | |