in client/sql/dataframe.go [213:241]
func (df *dataFrameImpl) RepartitionByRange(numPartitions int, columns []RangePartitionColumn) (DataFrame, error) {
var partitionExpressions []*proto.Expression
if columns != nil {
partitionExpressions = make([]*proto.Expression, 0, len(columns))
for _, c := range columns {
columnExpr := &proto.Expression{
ExprType: &proto.Expression_UnresolvedAttribute_{
UnresolvedAttribute: &proto.Expression_UnresolvedAttribute{
UnparsedIdentifier: c.Name,
},
},
}
direction := proto.Expression_SortOrder_SORT_DIRECTION_ASCENDING
if c.Descending {
direction = proto.Expression_SortOrder_SORT_DIRECTION_DESCENDING
}
sortExpr := &proto.Expression{
ExprType: &proto.Expression_SortOrder_{
SortOrder: &proto.Expression_SortOrder{
Child: columnExpr,
Direction: direction,
},
},
}
partitionExpressions = append(partitionExpressions, sortExpr)
}
}
return df.repartitionByExpressions(numPartitions, partitionExpressions)
}