# stream-ql **Repository Path**: marszhangzhixing/stream-ql ## Basic Information - **Project Name**: stream-ql - **Description**: 用 SQL 来描述 Stream API。可用 SQL 来实现数据处理逻辑,支持实时数据处理,支持聚合,分组,自定义函数等功能。让数据处理更简单。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-07-13 - **Last Updated**: 2022-07-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StreamQL ![JAVA 8](https://img.shields.io/badge/JDK-1.8+-brightgreen.svg) Stream + Druid Sql Parser = StreamQL ## 使用 ```java 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 getMessage() { List 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](https://github.com/jetlinks/reactor-ql),reactor-ql 非常强大。