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

#include <hdfs-lzo-text-scanner.h>

Collaboration diagram for impala::HdfsLzoTextScanner:

Static Public Member Functions

static HdfsScannerGetHdfsLzoTextScanner (HdfsScanNode *scan_node, RuntimeState *state)
 
static Status IssueInitialRanges (HdfsScanNode *scan_node, const std::vector< HdfsFileDesc * > &files)
 

Static Private Member Functions

static Status LoadLzoLibrary ()
 

Static Private Attributes

static const std::string LIB_IMPALA_LZO = "libimpalalzo.so"
 Impala LZO library name – GPL code. More...
 
static Status library_load_status_
 If non-OK, then we have tried and failed to load the LZO library. More...
 
static boost::mutex lzo_load_lock_
 Lock to protect loading of the lzo file library. More...
 
static HdfsScanner *(* CreateLzoTextScanner )(HdfsScanNode *scan_node, RuntimeState *state)
 Dynamically linked function to create the Lzo Scanner Object. More...
 
static Status(* LzoIssueInitialRanges )(HdfsScanNode *scan_node, const std::vector< HdfsFileDesc * > &files)
 Dynamically linked function to set the initial scan ranges. More...
 

Detailed Description

This is a wrapper for calling the external HdfsLzoTextScanner The LZO scanner class is implemented in a dynamically linked library so that Impala does not include GPL code. The two entry points are: IssueInitialRanges – issue calls to the I/O manager to read the file headers GetHdfsLzoTextScanner – returns a pointer to the Scanner object.

Definition at line 31 of file hdfs-lzo-text-scanner.h.

Member Function Documentation

HdfsScanner * impala::HdfsLzoTextScanner::GetHdfsLzoTextScanner ( HdfsScanNode scan_node,
RuntimeState state 
)
static
Status impala::HdfsLzoTextScanner::IssueInitialRanges ( HdfsScanNode scan_node,
const std::vector< HdfsFileDesc * > &  files 
)
static
Status impala::HdfsLzoTextScanner::LoadLzoLibrary ( )
staticprivate

Dynamically loads CreateLzoTextScanner and LzoIssueInitialRanges. lzo_load_lock_ should be taken before calling this method.

Definition at line 84 of file hdfs-lzo-text-scanner.cc.

References CreateLzoTextScanner, impala::DynamicLookup(), impala::DynamicOpen(), impala::GetImpalaBuildVersion, IMPALA_BUILD_VERSION, LIB_IMPALA_LZO, LzoIssueInitialRanges, impala::Status::OK, and RETURN_IF_ERROR.

Referenced by IssueInitialRanges().

Member Data Documentation

HdfsScanner *(* impala::HdfsLzoTextScanner::CreateLzoTextScanner)(HdfsScanNode *scan_node, RuntimeState *state)
staticprivate

Dynamically linked function to create the Lzo Scanner Object.

Definition at line 49 of file hdfs-lzo-text-scanner.h.

Referenced by GetHdfsLzoTextScanner(), and LoadLzoLibrary().

const string HdfsLzoTextScanner::LIB_IMPALA_LZO = "libimpalalzo.so"
staticprivate

Impala LZO library name – GPL code.

Definition at line 39 of file hdfs-lzo-text-scanner.h.

Referenced by LoadLzoLibrary().

Status impala::HdfsLzoTextScanner::library_load_status_
staticprivate

If non-OK, then we have tried and failed to load the LZO library.

Definition at line 42 of file hdfs-lzo-text-scanner.h.

Referenced by IssueInitialRanges().

mutex impala::HdfsLzoTextScanner::lzo_load_lock_
staticprivate

Lock to protect loading of the lzo file library.

Definition at line 45 of file hdfs-lzo-text-scanner.h.

Referenced by IssueInitialRanges().

Status(* impala::HdfsLzoTextScanner::LzoIssueInitialRanges)(HdfsScanNode *scan_node, const std::vector< HdfsFileDesc * > &files)
staticprivate

Dynamically linked function to set the initial scan ranges.

Definition at line 52 of file hdfs-lzo-text-scanner.h.

Referenced by IssueInitialRanges(), and LoadLzoLibrary().


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