首页  

flink datasset sortPartition 实例     所属分类 flink 浏览量 798
利用 sortPartition 排序

event_id event_time account_from  account_to  amount  trade_type
第3个字段 转出账户 account_from  升序
第2个字段 事件时间 event_time    降序


import org.apache.flink.api.common.operators.Order;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.tuple.Tuple5;

public class SortPartitionTest {

    public static void main(String[] args) throws Exception {
        
        final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
        System.out.println("parallelism="+env.getParallelism());    
        String file = "file:/path/events.txt";
        DataSet<Tuple5<String,String,String,String, Double>> csvInput = env.readCsvFile(file)
               .types(String.class,String.class,String.class,String.class, Double.class);
              
        csvInput
        .sortPartition(2, Order.ASCENDING).setParallelism(1)
        // .sortPartition(1, Order.ASCENDING).setParallelism(1)
        .sortPartition(1, Order.DESCENDING).setParallelism(1)
        .print();
    }
}





注意并行度设置成1 才能保证全局有序

完整代码
https://gitee.com/dyyx/demos/tree/master/flinkdemo/src/main/java/dyyx/zb/SortPartitionTest.java


flink dataset 测试数据说明

上一篇     下一篇
mysql show processlist State 含义

MySQL查看事务和锁状态

flink dataset 测试数据说明

flink dataset groupBy sortGroup 实例

flink dataset 输出注意点

搞金融必备的各类计算公式