摘要:
以下主要记录的是看完scala in programming这本书buildin control structures(第七章)后的要点总结。 1,if,while,do while和for的用法和java类似,不过for语句中可以带filter。 2,通过for循环可以产生集合。格式:for cl 阅读全文
摘要:
以下主要记录的是看完scala in programming这本书Functional Objects(第六章)后的要点总结。 1,程序中可变对象(var)和不可变对象(val)使用的权衡问题 不可变对象(val)相比较可变对象(var) 优点:简单,没有状态的变化,没有多线程问题。 缺点:需要对象 阅读全文
摘要:
在写实时应用解析日志的时候,有如下代码: 以上代码在写的单元测试中能够顺利通过,但是接线上以后总是出现一些莫名奇怪的错误。报的异常基本在代码6,7行处(由于当时没有截图,所以不能贴了)。查了一下,原因是SimpleDateFormat不是线程安全的。一个简单的解决办法是每次解析时都重新new一个Si 阅读全文
摘要:
在写spark streamming读取kafka latest offset的时候,有一下语句: Map<TopicAndPartition, Object> latestOffsets = JavaConversions.mapAsJavaMap( (scala.collection.Map<T 阅读全文
摘要:
让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大概知道它是指每秒Region Server的请求数,但是具体是怎么算的呢,不清楚。于是决定通过研究源码深入了解下。下面便记录了这个过程。 1,先在代码库中全局搜索Requests Per 阅读全文
摘要:
server端rpc包括master和RegionServer。接下来主要梳理一下,master和regionserver中有关rpc创建,启动以及处理的过程。 1,server rpc的初始化过程 首先看一下上篇rpc概述中有关hbase rpc端的总体流程图。 由于HMaster继承自HRegi 阅读全文
摘要:
RPC是hbase中Master,RegionServer和Client三者之间通信交流的纽带。了解hbase的rpc机制能够为通过源码学习hbase奠定良好的基础。因为了解了hbase的rpc机制能够很快通过debug深入理解hbase各种机制(比方说flush,compaction,scan等请 阅读全文
摘要:
在做数据同步校验的时候,需要从mysql fetch数据和hbase的数据进行对比,发现即使mysql数据变化了,类似下面的代码返回的值还是之前的数据。抽取的代码大概如下: 上面的代码,如果反复调用get_data_from_mysql函数,即使对于mysql数据库中同样一条数据变化,程序取出的还是 阅读全文
摘要:
周末花了两个小时左右阅读了一下,深入理解Java虚拟机第七章有关虚拟机加载的相关知识,主要要点记录如下。 1,java虚拟机加载的过程(狭义的理解就是虚拟机将class文件加载到内存的方法区的过程)主要经历: 加载=》验证=》准备=》解析=》初始化=》使用=》卸载 2,其中初始化过程与我们平时写的应 阅读全文
摘要:
看了spark的原始论文和相关资料,对spark中的一些经常用到的术语做了一些梳理,记录下。 1,Application application(应用)其实就是用spark-submit提交的程序。比方说spark examples中的计算pi的SparkPi。一个application通常包含三部 阅读全文