Stream Processing with SQL

This page shows how to processing stream data in HStreamDB with SQL using Java SDK.

前提条件

确保有一个运行中并可用的 HStreamDB

在 Stream 上执行实时查询任务(Query)

举个例子:

  1. Observer<HRecord> observer =
  2. new Observer<HRecord>() {
  3. @Override
  4. public void onNext(HRecord value) {
  5. System.out.println("get hrecord: {}" + value);
  6. }
  7. @Override
  8. public void onError(Throwable t) {
  9. System.out.println("error!");
  10. }
  11. @Override
  12. public void onCompleted() {}
  13. };
  14. Queryer queryer =
  15. client
  16. .newQueryer()
  17. .sql("select * from test_stream where temperature > 30 emit changes;")
  18. .resultObserver(observer)
  19. .build();
  20. // queryer will fetch real-time data at background
  21. queryer.startAsync().awaitRunning();
  22. // ... execute query for some time ...
  23. // finally, you can stop the queryer using queryer.stopAsync()
  24. queryer.stopAsync().awaitTerminated();

可以用一个 Queryer 对象来创建一个实时的 SQL 语句,同时你也可以提供一个具备处理返回数据逻辑的 Observer。这个 Queryer 会在后台处理数据。