org.apache.hadoop.hive.ql.plan.TableScanDesc Java Examples
The following examples show how to use
org.apache.hadoop.hive.ql.plan.TableScanDesc.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: HiveDynamoDBInputFormat.java From emr-dynamodb-connector with Apache License 2.0 | 6 votes |
private DynamoDBQueryFilter getQueryFilter(JobConf conf, Map<String, String> hiveDynamoDBMapping, Map<String, String> hiveTypeMapping) throws IOException { if (hiveDynamoDBMapping == null) { /* * Column mapping may be null when user has mapped a DynamoDB item * onto a single hive map<string, string> column. */ return new DynamoDBQueryFilter(); } DynamoDBClient client = new DynamoDBClient(conf); String filterExprSerialized = conf.get(TableScanDesc.FILTER_EXPR_CONF_STR); if (filterExprSerialized == null) { return new DynamoDBQueryFilter(); } ExprNodeDesc filterExpr = ShimsLoader.getHiveShims().deserializeExpression(filterExprSerialized); DynamoDBFilterPushdown pushdown = new DynamoDBFilterPushdown(); List<KeySchemaElement> schema = client.describeTable(conf.get(DynamoDBConstants.TABLE_NAME)).getKeySchema(); DynamoDBQueryFilter queryFilter = pushdown.predicateToDynamoDBFilter( schema, hiveDynamoDBMapping, hiveTypeMapping, filterExpr); return queryFilter; }
Example #2
Source File: Hive012Binding.java From parquet-mr with Apache License 2.0 | 5 votes |
private void pushFilters(final JobConf jobConf, final TableScanOperator tableScan) { final TableScanDesc scanDesc = tableScan.getConf(); if (scanDesc == null) { LOG.debug("Not pushing filters because TableScanDesc is null"); return; } // construct column name list for reference by filter push down Utilities.setColumnNameList(jobConf, tableScan); // push down filters final ExprNodeDesc filterExpr = scanDesc.getFilterExpr(); if (filterExpr == null) { LOG.debug("Not pushing filters because FilterExpr is null"); return; } final String filterText = filterExpr.getExprString(); final String filterExprSerialized = Utilities.serializeExpression(filterExpr); jobConf.set( TableScanDesc.FILTER_TEXT_CONF_STR, filterText); jobConf.set( TableScanDesc.FILTER_EXPR_CONF_STR, filterExprSerialized); }
Example #3
Source File: Hive010Binding.java From parquet-mr with Apache License 2.0 | 5 votes |
private void pushFilters(final JobConf jobConf, final TableScanOperator tableScan) { final TableScanDesc scanDesc = tableScan.getConf(); if (scanDesc == null) { LOG.debug("Not pushing filters because TableScanDesc is null"); return; } // construct column name list for reference by filter push down Utilities.setColumnNameList(jobConf, tableScan); // push down filters final ExprNodeDesc filterExpr = scanDesc.getFilterExpr(); if (filterExpr == null) { LOG.debug("Not pushing filters because FilterExpr is null"); return; } final String filterText = filterExpr.getExprString(); final String filterExprSerialized = Utilities.serializeExpression(filterExpr); jobConf.set( TableScanDesc.FILTER_TEXT_CONF_STR, filterText); jobConf.set( TableScanDesc.FILTER_EXPR_CONF_STR, filterExprSerialized); }
Example #4
Source File: AccumuloPredicateHandler.java From accumulo-hive-storage-manager with Apache License 2.0 | 5 votes |
/** * * @param conf JobConf * @return list of IndexSearchConditions from the filter expression. */ public List<IndexSearchCondition> getSearchConditions(JobConf conf) { List<IndexSearchCondition> sConditions = Lists.newArrayList(); String filteredExprSerialized = conf.get(TableScanDesc.FILTER_EXPR_CONF_STR); if(filteredExprSerialized == null) return sConditions; ExprNodeDesc filterExpr = Utilities.deserializeExpression(filteredExprSerialized, conf); IndexPredicateAnalyzer analyzer = newAnalyzer(conf); ExprNodeDesc residual = analyzer.analyzePredicate(filterExpr, sConditions); if(residual != null) throw new RuntimeException("Unexpected residual predicate: " + residual.getExprString()); return sConditions; }
Example #5
Source File: HiveReaderSetting.java From multiple-dimension-spread with Apache License 2.0 | 4 votes |
public HiveReaderSetting( final FileSplit split, final JobConf job ){ config = new Configuration(); disableSkipBlock = job.getBoolean( "mds.disable.block.skip" , false ); disableFilterPushdown = job.getBoolean( "mds.disable.filter.pushdown" , false ); Set<String> pathNameSet= createPathSet( split.getPath() ); List<ExprNodeGenericFuncDesc> filterExprs = new ArrayList<ExprNodeGenericFuncDesc>(); String filterExprSerialized = job.get( TableScanDesc.FILTER_EXPR_CONF_STR ); if( filterExprSerialized != null ){ filterExprs.add( Utilities.deserializeExpression(filterExprSerialized) ); } MapWork mapWork; try{ mapWork = Utilities.getMapWork(job); }catch( Exception e ){ mapWork = null; } if( mapWork == null ){ node = createExpressionNode( filterExprs ); isVectorModeFlag = false; return; } node = createExpressionNode( filterExprs ); for( Map.Entry<String,PartitionDesc> pathsAndParts: mapWork.getPathToPartitionInfo().entrySet() ){ if( ! pathNameSet.contains( pathsAndParts.getKey() ) ){ continue; } Properties props = pathsAndParts.getValue().getTableDesc().getProperties(); if( props.containsKey( "mds.expand" ) ){ config.set( "spread.reader.expand.column" , props.getProperty( "mds.expand" ) ); } if( props.containsKey( "mds.flatten" ) ){ config.set( "spread.reader.flatten.column" , props.getProperty( "mds.flatten" ) ); } } config.set( "spread.reader.read.column.names" , createReadColumnNames( job.get( ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR , null ) ) ); // Next Hive vesion; // Utilities.getUseVectorizedInputFileFormat(job) isVectorModeFlag = Utilities.isVectorMode( job ); }