Skip to content

用 SQL 来描述 Stream API。可用 SQL 来实现数据处理逻辑,支持实时数据处理,支持聚合,分组,自定义函数等功能。让数据处理更简单。

License

Notifications You must be signed in to change notification settings

lets-mica/stream-ql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StreamQL

JAVA 8

Stream + Druid Sql Parser = StreamQL

使用

public static void main(String[] args) {
    StreamQL.sql("select * from '/test/1'")
            .build()
            .execute((table) ->
                    getMessage().stream()
                    .filter(data -> data.getTopic().equals(table)))
            .forEach(System.out::println);
}

private static List<Message> getMessage() {
    List<Message> data = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        Message message = new Message();
        message.setId(i);
        message.setTopic("/test/" + i);
        message.setClientId("clientId" + i);
        message.setTimestamp(System.currentTimeMillis());
        data.add(message);
    }
    return data;
}

参考vs借鉴

重度参考 vs copy reactor-ql,reactor-ql 非常强大。

About

用 SQL 来描述 Stream API。可用 SQL 来实现数据处理逻辑,支持实时数据处理,支持聚合,分组,自定义函数等功能。让数据处理更简单。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages