Spark小课堂Week7 从Spark中一个例子看面向对象设计 今天我们讨论了个问题,来设计一个Spark中的常用功能. 功能描述:数据源是一切处理的源头,这次要实现下加载数据源的方法load() 初始需求 需求:支持Json数据源加载 具体:输入一个path,需要返回一个Relation, Relation中提供scan()和write()两个方法 示意代码: class Context{ public Relation json(String path){ return new Relat…
Spark小课堂Week1 Hello Spark 看到Spark这个词,你的第一印象是什么? 这是一朵"火花",官方的定义是Spark是一个高速的.通用的.分布式计算系统!!! 用途:进行大数据计算,这里要注意,大数据是一个相对概念,并没有绝对的量化指标,一般我们认为在业务特定场景要求下,一台机器处理不了的数据都能称为大数据. 前身:大数据计算的开山鼻祖Hadoop,Spark和Hadoop的主要区别就是更快,更通用. 功能:Spark内核设计的非常通用,具有很高的扩展性,目前已经发…
Spark小课堂Week6 启动日志详解 作为分布式系统,Spark程序是非常难以使用传统方法来进行调试的,所以我们主要的武器是日志,今天会对启动日志进行一下详解. 日志详解 今天主要遍历下Streaming的启动日志. 授权等操作 Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 16/07/19 15:06:04 INFO SparkContext: Running Spark ve…
Spark小课堂Week5 Scala初探 Scala是java威力加强版. 对Java的改进 这里会结合StreamingContext.scala这个代码说明下对Java的改进方面. 方便测试方式,增加了可以指定位置的作用域. 成员变量声明,构造方法,get.set方法一体化. []表示泛型,不是<> class StreamingContext private[streaming] ( 
 sc_ : SparkContext, 
 cp_ : Checkpoint,
 batchDur…
Spark小课堂Week4 从控制台看Spark逻辑结构 层级关系: 从监控控制台,我们可以看到如下关系: 一个 Job 包含 n Stage 一个 Stage 包含 n Task Job0解决什么问题? 在控制台,有一个Job0,负责进行数据接收. 其实这个程序并没有分布式的需求,为什么要采用Job来管理: 主要解决了几个问题: 程序出现异常,Job可以自动重启. 程序运行过程中有监控.度量等需要,Job可以自动完成. 如何确定运行的节点,Job可以自动调度. 所以Job就是一个有异常恢复.可…
Spark小课堂Week3 FirstSparkApp(代码优化) RDD代码简化 对于昨天练习的代码,我们可以从几个方面来简化: 使用fluent风格写法,可以减少对于中间变量的定义. 使用lambda表示式来替换对象写法,可以使用到类型推断功能,减少对于类型的定义. 优化后代码如下: return this.getInputRDD(PracticePojo.class) .mapToPair( practicePojo -> new Tuple2<>(practicePojo.get…
Spark小课堂Week3 FirstSparkApp 问题:Java有哪些数据结构 大致有如下几种,其中List与Map是最重要的: List Map Set Array Heap Stack Queue Tree 练习:构造一个1-5的List,把他们打印出来 写法1 List<Integer> input = Arrays.asList(1, 2, 3, 4, 5); for (int i = 0; i < input.size(); i++) { System.out.print…
Spark小课堂Week2 Hello Streaming 我们是怎么进行数据处理的? 批量方式处理 目前最常采用的是批量方式处理,指非工作时间运行,定时或者事件触发.这种方式的好处是逻辑简单,不影响联机业务,但是性能不行. 理想方式 对于数据处理的问题,我们的最终理想解,应该是满足业务规则正确的情况下,实时的完成处理. 平衡点 理想方式难度比较高,批量方式往往又不给力,我们可以在批量方式和理想方式中间,找到一个平衡点,就是流处理. 流处理 我们的理想情况是当不断有数据进来,就不断的进行处理.…
猫宁!!! 参考链接: http://www.360.cn/webzhuanti/mianyigongju.html https://www.freebuf.com/fevents/204100.html 在病毒.木马.蠕虫等恶意程序日趋猖獗的今天,事实证明,安全软件在保护公司内网办公安全方面具有重要的作用. 2017 年 5 月 12 日,也就是汶川地震 10 周年当天,名为 WannaCry 的勒索蠕虫病毒开始有预谋地肆虐全球,由于勒索蠕虫病毒脱胎于 2017 年 4 月 14 日美国国家安…