摘要: [TOC] 本文积累一些高效的scala写法。 Ordering toSeq is not good idea because driver needs to put this in memory 但是通过函数传递ordering的方式比较慢,直接Ordering.by创建内置的Ordering,或 阅读全文
posted @ 2018-12-25 23:16 justcodeit 阅读(399) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1.wordcount 利用socket作为数据源,对输入的每行数据进行单词计数。计算频率为process time的每10秒一次,结果输出到terminal。 数据格式 2.双流警报EventTime 时间特征为event time,每1s更新一次watermark,watermark 阅读全文
posted @ 2018-12-22 22:25 justcodeit 阅读(863) 评论(0) 推荐(0) 编辑
摘要: Implementing Stateful Functions source function的stateful看官网,要加lock Declaring Keyed State at the RuntimeContext state可通过 rich functions 、Listcheckpoint 阅读全文
posted @ 2018-12-22 22:21 justcodeit 阅读(1379) 评论(0) 推荐(0) 编辑
摘要: [TOC] 本文API基于1.4以上 Configuring Time Characteristics 非key Stream的window operator并行度为1 Process Time 所有operator会按照系统时间来判断是否触发计算。如果作业是在9:15am开始的,且设置了1h的间隔 阅读全文
posted @ 2018-12-22 22:08 justcodeit 阅读(722) 评论(0) 推荐(0) 编辑
摘要: [TOC] 本文API基于Flink 1.4 注意,map、flatMap算子需要TypeInformation的隐式转换,即implicit val typeInfo = TypeInformation.of(classOf[map后的类型])。但更好的办法是 或 静态数据 从map到apply都 阅读全文
posted @ 2018-12-22 22:05 justcodeit 阅读(992) 评论(0) 推荐(0) 编辑
摘要: [TOC] Spark SQL/DF的执行过程 将上层的SQL语句映射为底层的RDD模型。 写代码(DF/Dataset/SQL)并提交 Parser解析后得到unresolved logical plan(代码合法但未判断data是否存在、数据类型) Analyzer分析对比Catalog(里面绑 阅读全文
posted @ 2018-12-22 21:59 justcodeit 阅读(3344) 评论(0) 推荐(0) 编辑
摘要: [TOC] 下面调优主要基于2.0以后。 代码优化 1.语言选择 如果是ETL并进行单节点机器学习,SparkR或Python。优点:语言相对简单;缺点:使用语言自身的数据结构时,效率低,因为这些数据需要转换。 如果用到自定义transformations或自定义类,Scala或Java。优点:性能 阅读全文
posted @ 2018-12-22 21:55 justcodeit 阅读(2471) 评论(0) 推荐(0) 编辑
摘要: [TOC] System Architecture 分布式系统需要解决:分配和管理在集群的计算资源、处理配合、持久和可访问的数据存储、失败恢复。Fink专注分布式流处理。 Components of a Flink Setup JobManager :接受application,包含StreamGr 阅读全文
posted @ 2018-12-15 14:19 justcodeit 阅读(51623) 评论(4) 推荐(3) 编辑
摘要: Kafka总结 [TOC] 什么是kafka:分布式流处理平台。主要三个特点:可以发布和订阅消息的系统;可容错且持久地存储流记录;流计算。通常使用前两个特征。 发布订阅信息系统一般规则 :消费者可订阅多个topic(消息队列),同一条数据可被多个消费者消费,消息被消费后不会被立刻删除。 概念 Bro 阅读全文
posted @ 2018-12-15 13:23 justcodeit 阅读(563) 评论(0) 推荐(0) 编辑
摘要: [TOC] 166分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。 思路: 分母、分子为0的情况 新建StringBuilder 结果是否为负数,是则加上负号 分子分母取绝对值 阅读全文
posted @ 2018-12-11 01:44 justcodeit 阅读(198) 评论(0) 推荐(0) 编辑