@Override public String getExprString() { return source.toString(); }
@Override public String toString() { return source.toString(); } }
@Override public String toString() { return source.toString(); }
@Override public String getExprString() { return source.toString(); }
public static String toString(Collection<TableScanOperator> top) { StringBuilder builder = new StringBuilder(); Set<String> visited = new HashSet<String>(); for (Operator<?> op : top) { if (builder.length() > 0) { builder.append('\n'); } toString(builder, visited, op, 0); } return builder.toString(); }
public static String toString(Collection<TableScanOperator> top) { StringBuilder builder = new StringBuilder(); Set<String> visited = new HashSet<String>(); for (Operator<?> op : top) { if (builder.length() > 0) { builder.append('\n'); } toString(builder, visited, op, 0); } return builder.toString(); }
private void checkForCrossProduct(String workName, Operator<? extends OperatorDesc> reducer, Map<Integer, CrossProductHandler.ExtractReduceSinkInfo.Info> rsInfo) { if (rsInfo.isEmpty()) { return; } Iterator<CrossProductHandler.ExtractReduceSinkInfo.Info> it = rsInfo.values().iterator(); CrossProductHandler.ExtractReduceSinkInfo.Info info = it.next(); if (info.keyCols.size() == 0) { List<String> iAliases = new ArrayList<String>(); iAliases.addAll(info.inputAliases); while (it.hasNext()) { info = it.next(); iAliases.addAll(info.inputAliases); } String warning = String.format( "Shuffle Join %s[tables = %s] in Work '%s' is a cross product", reducer.toString(), iAliases, workName); warn(warning); } } }
private boolean checkForCrossProduct(String taskName, Operator<? extends OperatorDesc> reducer, Map<Integer, ExtractReduceSinkInfo.Info> rsInfo) { if ( rsInfo.isEmpty() ) { return false; } Iterator<ExtractReduceSinkInfo.Info> it = rsInfo.values().iterator(); ExtractReduceSinkInfo.Info info = it.next(); if (info.keyCols.size() == 0) { List<String> iAliases = new ArrayList<String>(); iAliases.addAll(info.inputAliases); while (it.hasNext()) { info = it.next(); iAliases.addAll(info.inputAliases); } String warning = String.format( "Shuffle Join %s[tables = %s] in Stage '%s' is a cross product", reducer.toString(), iAliases, taskName); warn(warning); return true; } return false; }
static boolean toString(StringBuilder builder, Set<String> visited, Operator<?> op, int start) { String name = op.toString(); boolean added = visited.add(name); if (start > 0) { builder.append("-"); start++; } builder.append(name); start += name.length(); if (added) { if (op.getNumChild() > 0) { List<Operator<?>> children = op.getChildOperators(); for (int i = 0; i < children.size(); i++) { if (i > 0) { builder.append('\n'); for (int j = 0; j < start; j++) { builder.append(' '); } } toString(builder, visited, children.get(i), start); } } return true; } return false; }
private void checkForCrossProduct(String taskName, Operator<? extends OperatorDesc> reducer, Map<Integer, ExtractReduceSinkInfo.Info> rsInfo) { if ( rsInfo.isEmpty() ) { return; } Iterator<ExtractReduceSinkInfo.Info> it = rsInfo.values().iterator(); ExtractReduceSinkInfo.Info info = it.next(); if (info.keyCols.size() == 0) { List<String> iAliases = new ArrayList<String>(); iAliases.addAll(info.inputAliases); while (it.hasNext()) { info = it.next(); iAliases.addAll(info.inputAliases); } String warning = String.format( "Shuffle Join %s[tables = %s] in Stage '%s' is a cross product", reducer.toString(), iAliases, taskName); warn(warning); } }
private static String getOpTreeSkel_helper(Operator<?> op, String indent) { if (op == null) { return StringUtils.EMPTY; } StringBuilder sb = new StringBuilder(); sb.append(indent); sb.append(op.toString()); sb.append("\n"); if (op.getChildOperators() != null) { for (Object child : op.getChildOperators()) { sb.append(getOpTreeSkel_helper((Operator<?>) child, indent + " ")); } } return sb.toString(); }
static boolean toString(StringBuilder builder, Set<String> visited, Operator<?> op, int start) { String name = op.toString(); boolean added = visited.add(name); if (start > 0) { builder.append("-"); start++; } builder.append(name); start += name.length(); if (added) { if (op.getNumChild() > 0) { List<Operator<?>> children = op.getChildOperators(); for (int i = 0; i < children.size(); i++) { if (i > 0) { builder.append('\n'); for (int j = 0; j < start; j++) { builder.append(' '); } } toString(builder, visited, children.get(i), start); } } return true; } return false; }
private static String getOpTreeSkel_helper(Operator<?> op, String indent) { if (op == null) { return ""; } StringBuilder sb = new StringBuilder(); sb.append(indent); sb.append(op.toString()); sb.append("\n"); if (op.getChildOperators() != null) { for (Object child : op.getChildOperators()) { sb.append(getOpTreeSkel_helper((Operator<?>) child, indent + " ")); } } return sb.toString(); }
private void checkForCrossProduct(String workName, Operator<? extends OperatorDesc> reducer, Map<Integer, CrossProductCheck.ExtractReduceSinkInfo.Info> rsInfo) { if (rsInfo.isEmpty()) { return; } Iterator<CrossProductCheck.ExtractReduceSinkInfo.Info> it = rsInfo.values().iterator(); CrossProductCheck.ExtractReduceSinkInfo.Info info = it.next(); if (info.keyCols.size() == 0) { List<String> iAliases = new ArrayList<String>(); iAliases.addAll(info.inputAliases); while (it.hasNext()) { info = it.next(); iAliases.addAll(info.inputAliases); } String warning = String.format( "Shuffle Join %s[tables = %s] in Work '%s' is a cross product", reducer.toString(), iAliases, workName); warn(warning); } } }
Operator<? extends OperatorDesc> parent = currentParentList.get(i); System.out.println(prefix + " parent depth " + depth + " " + parent.getClass().getSimpleName() + " " + parent.toString()); Operator<? extends OperatorDesc> child = currentChildList.get(i); System.out.println(prefix + " child depth " + depth + " " + child.getClass().getSimpleName() + " " + child.toString());
LOG.debug("STATS-" + op.toString() + ": Overflow in number of rows. " + newNumRows + " rows will be set to Long.MAX_VALUE"); newNumRows = StatsUtils.getMaxIfOverflow(newNumRows); LOG.debug("STATS-" + op.toString() + ": Equals 0 in number of rows. " + newNumRows + " rows will be set to 1"); newNumRows = 1;
LOG.debug("[0] STATS-" + op.toString() + ": " + stats.extendedToString());