一、flink(低延迟)
批处理
1、创建执行环境
2、从文件读取数据 按行读取(存储的元素就是每行的文本)
3.、转换数据格式
4、分组聚合统计
5、打印结果
流处理(流处理程序使用的是 StreamExecutionEnvironment)
1、创建流式执行环境
2、读取文本流(socketTextStream)
3、转换数据格式
4、分组
5、打印

二、spark
Spark 以批处理为根本,并尝试在批处理之上支持流计算
spark streaming:微批处理,“攒批”,无法做到低延迟
三、DataStream API
四、专利方面
数据同步方向
专利案例一:一种基于Binlog+HBase+Hive的大数据同步方法和装置
| 【具体实施方式】 |
| 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 |
| 在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。 |
| Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 |
| HBase是一个分布式的、面向列的开源数据库。数据模型为Row Key、Timestamp、Column Family。 |
| Mysql Binlog是二进制格式的日志文件,记录Mysql内部对数据库的改动。 |
| canal是阿里巴巴旗下的一款开源项目,基于数据库增量日志解析,提供增量数据订阅&消费。 |
| Kafka是一种高吞吐量的分布式发布订阅消息系统。 |
| hbase:数据结构为:Row Key行键+Timestamp时间戳+Column Family列簇。所以其特性为:适合通过行键(比如数据库的表主键)来更新数据,通过时间戳来保障数据的先后顺序正确。但是其问题是,列簇中的字段没有索引,查询得全表扫描,或者通过别的工具建二级索引。 |
| hive:它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,将SQL语句转换为MapReduce任务运行;但是由于它底层的文件系统是hadoop的hdfs,不支持行级的数据更新操作。 |
| 在本发明各实施例中,时间戳是关系数据库的更新时间;用来更新HBase里的Timestamp;而Timestamp是HBase里面描述数据的一个版本用的维度,即时间信息;这两者与本发明的etl_dt的关系,都是用来表征时间,但是各自用的场景不同。 |
| 此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。 |
| 本方案通过Apache Flink Connect能够实现不同数据流的合并,如设备实时采集数据和设备产量数据(计算数据)。在获取实时采集数据时,可以通过Kafka进行获取;在获取设备产量数据时,可以通过Flink CDC实时捕获数据库中存储的事件流数据。 |
| 在一些实施方式中,所述的获取预先定义的事件触发表达式之前,还包括: |
| 根据事件推送渠道定义不同的所述事件触发表达式; |
| 所述的对触发的事件进行推送,包括: |
| 将根据不同的所述事件触发表达式触发的事件推送至对应的所述事件推送渠道。 |
| 在通过事件推送渠道推送事件时,由于事件推送渠道有很多,不同的事件推送渠道对事件的需求不同。因此,在定义事件触发表达式时,可以根据不同的事件推送渠道定义不同的事件触发表达式,从而在触发事件时,能够根据不同的事件触发表达式触发不同的事件,并将不同的事件推送至对应的事件推送渠道。 |
9173

被折叠的 条评论
为什么被折叠?



