上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 实际生产中,由于各种原因,导致事件创建时间与处理时间不一致,收集的规定对实时推荐有较大的影响。所以一般情况时选取创建时间,然后事先创建flink的时间窗口。但是问题来了,如何保证这个窗口的时间内所有事件都到齐了?这个时候就可以设置水位线(waterMark)。 概念:支持基于时间窗口操作,由于事件的 阅读全文
posted @ 2019-09-05 15:22 KamShing 阅读(2374) 评论(0) 推荐(0) 编辑
摘要: Spark作业执行中,有一个步骤是给任务进行资源分配,实际上这些任务由一些任务管理器TaskSetManager负责管理,资源分配过程中,会先根据某种排序算法排好序,然后根据就近原则给任务进行资源分配。那么关于TaskSetManager的排序是根据哪个算法呢?现在就来介绍。 排序算法由两种调度策略 阅读全文
posted @ 2019-09-05 15:19 KamShing 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 从表Schema处理角度对比Hive和Parquet,两者主要的区别: Hive区分大小写,Parquet不区分大小写;Hive允许所有的列为空,而Parquet不允许所有列为空;基于上述两点区别,在进行Hive metastore Parquet转换为SpqrkSql Parquet时,需要将两者 阅读全文
posted @ 2019-09-05 15:17 KamShing 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 自定义强类型聚合函数跟自定义无类型聚合函数的操作类似,相对的,实现自定义强类型聚合函数则要继承org.apache.spark.sql.expressions.Aggregator。强类型的优点在于:其内部与特定数据集紧密结合,增强了紧密型、安全性,但由于其紧凑的特性,降低了适用性。 准备emplo 阅读全文
posted @ 2019-09-05 15:14 KamShing 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 准备数据: 一、定义自定义无类型聚合函数 想要自定义无类型聚合函数,那必须得继承org.spark.sql.expressions.UserDefinedAggregateFunction,然后重写父类得抽象变量和成员方法。 二、使用自定义无类型聚合函数 输出结果: 阅读全文
posted @ 2019-09-05 15:09 KamShing 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 随着Spark1.4.x的更新,Spark提供更高阶的对象DataFrame,提供了比RDD更丰富的API操作,同时也支持RDD转DataFrame(下面简称“DF”),但是要注意,不是任意类型对象组成的RDD都可以转换成DF,,只有当组成RDD[T]的每一个T对象内部具有鲜明的字段结构时,才能隐式 阅读全文
posted @ 2019-09-05 15:05 KamShing 阅读(6010) 评论(0) 推荐(0) 编辑
摘要: 对于Executor的计算结果,会根据结果的大小使用不同的处理策略: 任务执行完成之后,TaskRunner将任务的执行结果发送给DriverEndpoint,DriverEndpoint接收到信息后,交给TaskSchedulerImpl的statusUpdate方法进行处理,该方法根据不同的任务 阅读全文
posted @ 2019-09-05 15:01 KamShing 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 在Spark消息通信原理(三)(https://www.cnblogs.com/SysoCjs/p/11355900.html)中第(6)点提到过,Executor是任务执行的容器,executor接收到LaunchTask消息之后(其实是GoraseGrainedExecutorBackend接收 阅读全文
posted @ 2019-08-15 11:43 KamShing 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 首先熟悉一下该阶段的一些重要方法的调用关系图: 在上一篇提交调度阶段中,提到:当该阶段不存在父调度阶段时,就会调用DAGScheduler的submitMissingTasks方法。这个方法就是触发任务的提交。在方法中,会根据调度阶段Partition个数拆分对应的个数的任务,一个partition 阅读全文
posted @ 2019-08-15 11:38 KamShing 阅读(315) 评论(0) 推荐(0) 编辑
摘要: Spark作业执行中,有一个步骤是给任务进行资源分配,实际上这些任务由一些任务管理器TaskSetManager负责管理,资源分配过程中,会先根据某种排序算法排好序,然后根据就近原则给任务进行资源分配。那么关于TaskSetManager的排序是根据哪个算法呢?现在就来介绍。 排序算法由两种调度策略 阅读全文
posted @ 2019-08-15 11:37 KamShing 阅读(278) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页