@Override public Operator<? extends OperatorDesc> clone() throws CloneNotSupportedException { TableScanOperator ts = (TableScanOperator) super.clone(); ts.setNeededColumnIDs(new ArrayList<Integer>(getNeededColumnIDs())); ts.setNeededColumns(new ArrayList<String>(getNeededColumns())); ts.setReferencedColumns(new ArrayList<String>(getReferencedColumns())); return ts; }
@Override public Operator<? extends OperatorDesc> clone() throws CloneNotSupportedException { TableScanOperator ts = (TableScanOperator) super.clone(); ts.setNeededColumnIDs(new ArrayList<Integer>(getNeededColumnIDs())); ts.setNeededColumns(new ArrayList<String>(getNeededColumns())); ts.setReferencedColumns(new ArrayList<String>(getReferencedColumns())); return ts; }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { TableScanOperator tsOp = (TableScanOperator) nd; WalkerCtx walkerCtx = (WalkerCtx) procCtx; List<Integer> colIDs = tsOp.getNeededColumnIDs(); TableScanDesc desc = tsOp.getConf(); boolean noColNeeded = (colIDs == null) || (colIDs.isEmpty()); boolean noVCneeded = (desc == null) || (desc.getVirtualCols() == null) || (desc.getVirtualCols().isEmpty()); boolean isSkipHF = desc.isNeedSkipHeaderFooters(); if (noColNeeded && noVCneeded && !isSkipHF) { walkerCtx.setMayBeMetadataOnly(tsOp); } return nd; } }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { TableScanOperator tsOp = (TableScanOperator) nd; WalkerCtx walkerCtx = (WalkerCtx) procCtx; List<Integer> colIDs = tsOp.getNeededColumnIDs(); TableScanDesc desc = tsOp.getConf(); boolean noColNeeded = (colIDs == null) || (colIDs.isEmpty()); boolean noVCneeded = (desc == null) || (desc.getVirtualCols() == null) || (desc.getVirtualCols().isEmpty()); boolean isSkipHF = desc.isNeedSkipHeaderFooters(); if (noColNeeded && noVCneeded && !isSkipHF) { walkerCtx.setMayBeMetadataOnly(tsOp); } return nd; } }
if (!tableScanOp.isInsideView()) { Table tbl = tableScanOp.getConf().getTableMetadata(); List<Integer> neededColumnIds = tableScanOp.getNeededColumnIDs(); List<FieldSchema> columns = tbl.getCols(); List<String> cols = new ArrayList<String>();
jobClone, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
final TableScanOperator ts = (TableScanOperator) op; if (ts.getNeededColumnIDs() == null) { allColumnsNeeded = true; } else { neededColumnIDs.addAll(ts.getNeededColumnIDs()); neededNestedColumnPaths.addAll(ts.getNeededNestedColumnPaths());
jobClone, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
if (!tableScanOp.isInsideView()) { Table tbl = tableScanOp.getConf().getTableMetadata(); List<Integer> neededColumnIds = tableScanOp.getNeededColumnIDs(); List<FieldSchema> columns = tbl.getCols(); List<String> cols = new ArrayList<String>();
final TableScanOperator ts = (TableScanOperator) op; if (ts.getNeededColumnIDs() == null) { allColumnsNeeded = true; } else { neededColumnIDs.addAll(ts.getNeededColumnIDs()); if (ts.getNeededNestedColumnPaths() != null) { neededNestedColumnPaths.addAll(ts.getNeededNestedColumnPaths());
tableScan.getNeededColumnIDs(), tableScan.getNeededColumns()); pushDownProjection = true;
tableScan.getNeededColumnIDs(), tableScan.getNeededColumns()); pushDownProjection = true;
jobConf, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
jobClone, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
jobClone, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
jobConf, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
List<Integer> colIDs = tsOp.getNeededColumnIDs(); TableScanDesc desc = tsOp.getConf(); boolean noColNeeded = (colIDs == null) || (colIDs.isEmpty());
job, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
job, ts.getNeededColumnIDs(), ts.getNeededColumns(), ts.getNeededNestedColumnPaths());
@Override public Operator<? extends OperatorDesc> clone() throws CloneNotSupportedException { TableScanOperator ts = (TableScanOperator) super.clone(); ts.setNeededColumnIDs(new ArrayList<Integer>(getNeededColumnIDs())); ts.setNeededColumns(new ArrayList<String>(getNeededColumns())); ts.setReferencedColumns(new ArrayList<String>(getReferencedColumns())); return ts; }