可以针对时间大小或者数据量充当条件,在整个窗口未达到标准的时候,进行任务执行,触发运行Job。然后当编写trigger后,就需要对流数据进行判断,满足数据量或者时间后,打开触发方法,执行结果。
1. Nginx的日志可以通过Flume抽取到HDFS上。2. Mysql的数据可以通过 Sqoop 抽取到 Hive 中,同样 Hive 的数据也可以通过 Sqoop 抽取到 Mysql 中。3. HDFS上的一些数据不规整,有很多垃圾信息,可以用Hadoop或者Spark 进行处理并重新存入HDFS中。
一般的app数据采集可能会存在数据上报延时,因此数据会存在两个时间:数据生成的时间和服务器收到的时间。由于我们底层数据都是按时间来做天的分区,那么该用数据生成的时间还是服务器收到的时间? 服务器收到时间。
但不是真正的更新和删除,使用:alter table xxx 实现 更新、删除的数据,只有在分片时才会真正的清理
会,我们在获取Channel批次数据的时候,每个批次是基于一个事务性的,一旦发生宕机或者Flume进行挂掉,那么就会回滚,数据写入失败,下次再重启写入时候数据就重复