public Object getFieldValue(_Fields field) { switch (field) { case COL: return getCol(); case ORDER: return getOrder(); } throw new IllegalStateException(); }
public OrderWrapper(Order ord) { this.ord = ord; this.col = ord.getCol(); this.order = ord.getOrder(); }
private List<Integer> getSortOrder( List<Order> tabSortCols, List<FieldSchema> tabCols) { List<Integer> sortOrders = new ArrayList<Integer>(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { sortOrders.add(sortCol.getOrder()); break; } } } return sortOrders; }
private List<Integer> getSortOrder( List<Order> tabSortCols, List<FieldSchema> tabCols) { List<Integer> sortOrders = new ArrayList<Integer>(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { sortOrders.add(sortCol.getOrder()); break; } } } return sortOrders; }
private List<MOrder> convertToMOrders(List<Order> keys) { List<MOrder> mkeys = null; if (keys != null) { mkeys = new ArrayList<>(keys.size()); for (Order part : keys) { mkeys.add(new MOrder(normalizeIdentifier(part.getCol()), part.getOrder())); } } return mkeys; }
/** * Get the sort order for the sort columns. * * @param tabSortCols * @param tabCols * @return */ private List<Integer> getSortOrders(List<Order> tabSortCols, List<FieldSchema> tabCols) { List<Integer> sortOrders = Lists.newArrayList(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { sortOrders.add(sortCol.getOrder()); break; } } } return sortOrders; }
public static SortingColumn fromMetastoreApiOrder(org.apache.hadoop.hive.metastore.api.Order order, String tablePartitionName) { return new SortingColumn(order.getCol(), Order.fromMetastoreApiOrder(order.getOrder(), tablePartitionName)); }
private ArrayList<Integer> getSortOrders(String dest, QB qb, Table tab, Operator input) throws SemanticException { List<Order> tabSortCols = tab.getSortCols(); List<FieldSchema> tabCols = tab.getCols(); ArrayList<Integer> orders = new ArrayList<Integer>(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { orders.add(sortCol.getOrder()); break; } } } return orders; }
private ArrayList<Integer> getSortOrders(String dest, QB qb, Table tab, Operator input) throws SemanticException { List<Order> tabSortCols = tab.getSortCols(); List<FieldSchema> tabCols = tab.getCols(); ArrayList<Integer> orders = new ArrayList<Integer>(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { orders.add(sortCol.getOrder()); break; } } } return orders; }
/** * Get the sort order for the sort columns * @param tabSortCols * @param tabCols * @return */ private List<Integer> getSortOrders(List<Order> tabSortCols, List<FieldSchema> tabCols) { List<Integer> sortOrders = Lists.newArrayList(); for (Order sortCol : tabSortCols) { for (FieldSchema tabCol : tabCols) { if (sortCol.getCol().equals(tabCol.getName())) { sortOrders.add(sortCol.getOrder()); break; } } } return sortOrders; }
@Override public List<RelCollation> getCollationList() { ImmutableList.Builder<RelFieldCollation> collationList = new ImmutableList.Builder<RelFieldCollation>(); for (Order sortColumn : this.hiveTblMetadata.getSortCols()) { for (int i=0; i<this.hiveTblMetadata.getSd().getCols().size(); i++) { FieldSchema field = this.hiveTblMetadata.getSd().getCols().get(i); if (field.getName().equals(sortColumn.getCol())) { Direction direction; NullDirection nullDirection; if (sortColumn.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_ASC) { direction = Direction.ASCENDING; nullDirection = NullDirection.FIRST; } else { direction = Direction.DESCENDING; nullDirection = NullDirection.LAST; } collationList.add(new RelFieldCollation(i, direction, nullDirection)); break; } } } return new ImmutableList.Builder<RelCollation>() .add(RelCollationTraitDef.INSTANCE.canonize( new HiveRelCollation(collationList.build()))) .build(); }
for (Order order : orders) { md.update(order.getCol().getBytes(ENCODING)); md.update(Integer.toString(order.getOrder()).getBytes(ENCODING));
for (Order sortCol : sortCols) { String sortKeyDesc = " " + sortCol.getCol() + " "; if (sortCol.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_ASC) { sortKeyDesc = sortKeyDesc + "ASC"; else if (sortCol.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_DESC) { sortKeyDesc = sortKeyDesc + "DESC";
for (Order sortCol : sortCols) { String sortKeyDesc = " " + sortCol.getCol() + " "; if (sortCol.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_ASC) { sortKeyDesc = sortKeyDesc + "ASC"; else if (sortCol.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_DESC) { sortKeyDesc = sortKeyDesc + "DESC";
@Override public List<RelCollation> getCollationList() { ImmutableList.Builder<RelFieldCollation> collationList = new ImmutableList.Builder<RelFieldCollation>(); for (Order sortColumn : this.hiveTblMetadata.getSortCols()) { for (int i=0; i<this.hiveTblMetadata.getSd().getCols().size(); i++) { FieldSchema field = this.hiveTblMetadata.getSd().getCols().get(i); if (field.getName().equals(sortColumn.getCol())) { Direction direction; NullDirection nullDirection; if (sortColumn.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_ASC) { direction = Direction.ASCENDING; nullDirection = NullDirection.FIRST; } else { direction = Direction.DESCENDING; nullDirection = NullDirection.LAST; } collationList.add(new RelFieldCollation(i,direction,nullDirection)); break; } } } return new ImmutableList.Builder<RelCollation>() .add(RelCollationTraitDef.INSTANCE.canonize( new HiveRelCollation(collationList.build()))) .build(); }
private boolean checkSortColsAndJoinCols(List<Order> sortCols, List<String> joinCols) { // require all sort columns are asc, right now only support asc List<String> sortColNames = new ArrayList<String>(); for (Order o : sortCols) { if (o.getOrder() != BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_ASC) { return false; } sortColNames.add(o.getCol()); } return sortColNames.containsAll(joinCols) && sortColNames.size() == joinCols.size(); } }
private List<MOrder> convertToMOrders(List<Order> keys) { List<MOrder> mkeys = null; if (keys != null) { mkeys = new ArrayList<MOrder>(keys.size()); for (Order part : keys) { mkeys.add(new MOrder(part.getCol().toLowerCase(), part.getOrder())); } } return mkeys; }