Apache Flink 漫谈系列(13) - Table API 概述
各人看到在 SELECT 不只可以行使平凡的字段选择,还可以行使ScalarFunction,虽然也包罗User-Defined Function,同时还可以举办字段的alias配置。着实SELECT可以团结聚合,在GROUPBY部门会举办先容,一个较量非凡的行使场景是去重的场景,示譬喻下:
在订单表查询全部的客户id,消除一再客户id, 如下:
3. WHERE WHERE 用于从数据集/流中过滤数据,与SELECT一路行使,语义是相关代数的Selection,按照某些前提对相关做程度支解,即选择切合前提的记录,如下所示: (1) Table API 示例 在customer_tab查询客户id为c_001和c_003的客户信息,如下:
(2) Result (3) 出格声名 我们发明WHERE是对满意必然前提的数据举办过滤,WHERE支持=, <, >, <>, >=, <=以及&&, ||等表达式的组合,最终满意过滤前提的数据会被选择出来。 SQL中的IN和NOT IN在Table API内里用intersect 和 minus描写(flink-1.7.0版本)。
Intersect只在Batch模式下举办支持,Stream模式下我们可以操作双流JOIN来实现,如:在customer_tab查询已经下过订单的客户信息,如下:
Minus只在Batch模式下举办支持,Stream模式下我们可以操作双流JOIN来实现,如:在customer_tab查询没有下过订单的客户信息,如下:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |