
Scala
稻草一根
这个作者很懒,什么都没留下…
展开
-
使用scala实现Akka底层的rpc通信
需求如下图:Master代码:package com.season.rpc.akkaimport akka.actor.{Actor, ActorSystem, Props}import com.typesafe.config.ConfigFactoryimport scala.collection.mutableimport scala.concurrent.duratio原创 2017-05-02 21:26:54 · 1546 阅读 · 0 评论 -
使用java模拟scala函数式编程将函数作为参数传入方法中
需求:将一个list集合传入一个方法中,同时传入一个函数,根据传入函数的不同对集合做不同的处理方法:定义一个接口,并定义一个方法option,测试中调用一个方法传入的参数是list和函数,函数就是该接口的实现类。代码如下:接口package me.season.com;import java.util.ArrayList;public interface O原创 2017-04-26 23:44:27 · 2471 阅读 · 1 评论 -
Scala使用SimpleDateFormat出现线程安全问题的解决办法
在使用Spark进行数据处理的时候,需要对数据中的时间进行格式化,我首先使用的是new SimpleDateFormat("yyyy年MM月dd日,E,HH:mm:ss"),因为每条数据都需要进行格式转换所以将转化过程疯转成一个工具类,为了避免频繁的NEW出对象,将new提到方法外面,但是在运行过程中出现了线程安全问题,因为Spark执行程序的时候是多线程处理的,所以,单纯的创建一个对象是不够的,原创 2017-05-28 14:49:21 · 1872 阅读 · 0 评论 -
使用Scala模拟简单的RPC通信,Socket编程
初步尝试使用Scala编程,还有很多不熟悉的地方,其实Scala的socket编程也是调用的java的api,所以基本上和java的代码大同小异。实现功能大体如下:客户端发送一个序列化参数,里面以空格分割几个参数,在服务端进行接收,并分割字符串,获取到一个字符串数组,然后对其进行模式匹配,返回不同的处理结果,写入到输出流中,客户端获取到返回的结果并打印。代码如下:客户端代码:pac原创 2017-04-27 21:11:58 · 3599 阅读 · 1 评论 -
SparkStreaming程序优化小记
最近公司部署了一个sparkstreaming程序,主要逻辑是处理flume采集到kafka的数据,集群环境3个nodemanager,5核20G内存,刚开始测试阶段并没设置资源配置,直接丢在yarn上运行,每天的数据量大概2500万records。测试几天后发现数据处理时间延迟稍微长了一点,怀疑是程序处理数据的数据低于数据产生的数据,随着时间和数据的增加,这个时间延迟越来越大,遂决定对程序进行相...原创 2018-06-14 17:39:39 · 3997 阅读 · 0 评论