跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。
IDEA VIM文本编辑器
VIM 文本编辑器使用方法及技巧--来源 《Practical Vim》
Linux FTP协议
File Transfer Protocol (FTP) 是一种标准通信协议,用于在计算机网络上将计算机文件从服务器传输到客户端。FTP 建立在客户端-服务器模型架构之上,在客户端和服务器之间使用独立的控制和数据连接。FTP 用户可以使用明文登录协议验证自己。为了保护用户名和密码并加密内容的安全传输,FTP通常 SSL/TLS 或替换为 SSH 文件传输协议 (SFTP)。
Flink CEP 复杂事件处理
计算图是 Flink 组织流处理节点的架构形式,将复杂事件处理抽象成模式图的形式是这种思路的延续。类比计算图中的节点,模式图由基本模式构建,并以拼合、分组的方式形成复杂的处理模式。FlinkCEP(Complex Event Process for Flink)是以库的形式提供的,是一种全新的、定义在流式架构上的模式匹配 API,如复杂谓词、多种匹配模式、闭包。在 Maven 工程中需要加入 flink-cep
依赖。
Flink State管理与恢复
本文主要对 Flink State(状态)进行分析,包含状态的管理和恢复,以及 Flink 中的任务重启策略。
Flink 时间与窗口
本文主要对 Flink Time 和 Window 进行分析。
Flink 高级能力 API
Flink 中提供了 4 种不同层次的 API:
- 低级 API:提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在对一些复杂事件的处理逻辑上。
- 核心 API:主要提供了针对流数据和离线数据的处理,对低级 API 进行了一些封装,提供了 filter、sum、max、min 等高级函数,简单且易用,所以在工作中应用比较广泛。
- Table API:一般与 DataSet 或者 DataStream 紧密关联,首先通过一个 DataSet 或 DataStream 创建出一个 Table;然后用类似于 filter、join 或者 select 关系型转化操作来转化为一个新的 Table 对象;最后将一个 Table 对象转回一个 DataSet 或 DataStream。与 SQL 不同的是,Table API 的查询不是一个指定的 SQL 字符串,而是调用指定的 API 方法。
- SQL API:Flink 的 SQL 集成是基于 Apache Calcite 的,Apache Calcite 实现了标准的 SQL,使用起来比其他 API 更加灵活,因为可以直接使用 SQL 语句。Table API 和 SQL 可以很容易地结合在一块使用,它们都返回 Table 对象。
Flink SQL&Table API
Flink 针对标准的流处理和批处理提供了两种关系型 API:Table API 和 SQL。Table API 允许用户以一种很直观的方式进行 select、filter 和 join 操作;Flink SQL 支持基于 Apache Calcite 实现的标准 SQL。针对批处理和流处理可以提供相同的处理语义和结果。
Flink 批处理API
Flink 中提供了 4 种不同层次的 API:
- 低级 API:提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在对一些复杂事件的处理逻辑上。
- 核心 API:主要提供了针对流数据和离线数据的处理,对低级 API 进行了一些封装,提供了 filter、sum、max、min 等高级函数,简单且易用,所以在工作中应用比较广泛。
- Table API:一般与 DataSet 或者 DataStream 紧密关联,首先通过一个 DataSet 或 DataStream 创建出一个 Table;然后用类似于 filter、join 或者 select 关系型转化操作来转化为一个新的 Table 对象;最后将一个 Table 对象转回一个 DataSet 或 DataStream。与 SQL 不同的是,Table API 的查询不是一个指定的 SQL 字符串,而是调用指定的 API 方法。
- SQL API:Flink 的 SQL 集成是基于 Apache Calcite 的,Apache Calcite 实现了标准的 SQL,使用起来比其他 API 更加灵活,因为可以直接使用 SQL 语句。Table API 和 SQL 可以很容易地结合在一块使用,它们都返回 Table 对象。
Flink 流处理API
Flink 中提供了 4 种不同层次的 API:
- 低级 API:提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在对一些复杂事件的处理逻辑上。
- 核心 API:主要提供了针对流数据和离线数据的处理,对低级 API 进行了一些封装,提供了 filter、sum、max、min 等高级函数,简单且易用,所以在工作中应用比较广泛。
- Table API:一般与 DataSet 或者 DataStream 紧密关联,首先通过一个 DataSet 或 DataStream 创建出一个 Table;然后用类似于 filter、join 或者 select 关系型转化操作来转化为一个新的 Table 对象;最后将一个 Table 对象转回一个 DataSet 或 DataStream。与 SQL 不同的是,Table API 的查询不是一个指定的 SQL 字符串,而是调用指定的 API 方法。
- SQL API:Flink 的 SQL 集成是基于 Apache Calcite 的,Apache Calcite 实现了标准的 SQL,使用起来比其他 API 更加灵活,因为可以直接使用 SQL 语句。Table API 和 SQL 可以很容易地结合在一块使用,它们都返回 Table 对象。