摘要:
1、类冲突问题排查 System.out.println(Car.class.getProtectionDomain().getCodeSource().getLocation()); 打印某个类的路径,找到主方法jvm中实际加载到的类 阅读全文
摘要:
总结的关于数据中台做的一些事情和平台化/组件化的东西,欢迎评论 阅读全文
摘要:
https://www.cnblogs.com/haoxiaozi/p/6318813.html yum方式外网安装mysql 阅读全文
摘要:
以root用户使用yum的方式来安装mysql服务端和客户端 阅读全文
摘要:
关于两者的区别(参见http://blog.csdn.net/ring0hx/article/details/3242245) System.load 参数为库文件的绝对路径,可以是任意路径。System.loadLibrary方法load的为相对路径,即在java.library.path定义下的 阅读全文
摘要:
Hbase支持两种读读操作,Scan & Get两种,Get在hbase的内部也是会转换成startRow == endRow的操作,所以本文就只介绍Get操作。Scan的实际执行者是RegionScannerImpl ,下面是一张整体ScannerImpl的调用图关于Scan的参数:Get和Sca... 阅读全文
摘要:
Region Server的整体架构本文主要介绍Region的整体架构,后续再慢慢介绍region的各部分具体实现和源码RegionServer逻辑架构图 RegionServer职责1、 监听协作,通过zk来侦听master、meta位置、集群状态等信息的变化,更新本地数据。2、 管理region... 阅读全文
摘要:
Hbase Java Client简介概述以及架构我们在使用hbase的时候,数据操作都是和regionserver直接通信操作,hbase的Java客户端将这些操作都封装在HTable类中,对外我们使用的所有操作都是直接使用HTable的api来直接操作,HTable的基本操作如下:get、get... 阅读全文
摘要:
需求:A机器无密码登陆到B机器 1、A机器执行 ssh-keygen-trsa ,在~/.ssh/下生成id_rsa 和 id_rsa.pub两个文件,其中id_rsa.pub是公匙 2、copyid_rsa.pub 到B机器上 ,cat id_rsa.pub > ~/.ssh/authorized... 阅读全文
摘要:
我们在写一些server程序的时候,往往希望在整个jvm退出(因为异常退出或者进程被kill)的时候,能释放在使用的一些系统资源(数据库连接,rpc链接等) 。具体操作:在程序启动的时候,注册hook,demo如下:Runtime.getRuntime().addShutdownHook(new T... 阅读全文
摘要:
具体代码如下:public class MemoryLookupTest { public static void main(String[] args) throws IOException { String filePath = "D:/tmp_data/countData"... 阅读全文
摘要:
背景:上篇文章《文本相似搜索算法以及改进》中对于vsm文本计算相似度的时候,每篇文章在做成vsm文本向量的时候,会有个问题:一篇文章中包含的词是很多的(有的在1000左右),不可能包含全部的词,这样在计算以及存储上都会有些问题,太大,这样只能精简一些词来代表这边文章,现在的方法是将所有的词维度值从大... 阅读全文
摘要:
占位,后续补充 阅读全文
摘要:
占位 阅读全文
摘要:
以前做的一个相关博文推荐的项目,整理了一下 目的:针对于博客,推荐内容相关博客 。方法:将博客分词、去除停用词、tf-idf、标题加权等做成vsm向量,将一篇文章和其它的所有文章求相似度(文本一般采用cos相似度),然后取相似度最大的N篇文章 。总共300万篇文章左右,遇到的困难:每篇文章都要和其它... 阅读全文
摘要:
HIVE的DML语句执行简介1.执行入口简介对于一般语句的执行入口都是在Driver.run(String command)这个方法中,runInternalàcompileàexecute词法+语法解析:调用antlr的解析类,生成一棵ast语法树语义解析:以嵌套的方式解析出一个sql中各个数据项... 阅读全文
摘要:
关于antlr的使用Hive使用的是antlr来做词法、语法的解析工作,最终生成一棵有语义的ast数。关于antlr1、ANTLR是ANother Tool for Language Recognition的缩写“又一个语言识别工具”,读[ 'æntlə ]。从名字上可以看出在ANTLR出现之前已经... 阅读全文
摘要:
先来一张整体概述 Hive MetaStore数据库表结构 1. SEQUENCE_TABLE : 对于db、tbl、sds等的SEQUENCE_id ,每次新增的时候取一个 2. DBS:存储hive的DB信息,表结构如下 : 3. DATABASE_PARAMS :db的key-value参数 阅读全文
摘要:
关于hive中的SerDeAbstractSerDe和ObjectInspector1、继承关系 AbstractSerDe是继承了接口SerDe的abstarct类,SerDe是继承了Deserializer, Serializer接口的,新的hive使用AbstractSerDe来代替接口,将序... 阅读全文
摘要:
1.一般的hdfs读写传统的对于hdfs的读写都是直接设置inputPath和outPath,而且对于数据都是以文件的形式访问的,不涉及到结构化/半结构化的东东,及时如hive存储在hdfs的的结构化数据,外部系统访问也只能自己去了解具体的结构是如何存储的,然后自己读文件再访问,传统访问hdfs的方... 阅读全文
摘要:
最近项目需要调研了下orcfile文件的格式、hive执行流程、hactalog等,整理和大家分享下,欢迎拍砖和探讨 。 废话少说,第一篇orcfile Orcfile 一些优点 http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.0.2/ds 阅读全文
摘要:
注:这两年做数据仓库以及数据处理,发现其实很多搜索中的东西在数据处理、adhoc等一些场景中也是同样适用的,淘宝的mkdrill其实就是将分布式搜索引擎用来做数据的检索(原始数据很大但是结果集很小的场景)。 将自己前两年做搜索的流程以及中的问题整理整理下,先写个框架,后续会慢慢更新~~ 再不写,真的... 阅读全文
摘要:
参考博客 http://hi.baidu.com/luckygirl/item/bd00a6d8a05c310d20e25039 方法一(推荐):修改/etc/passwd文件,在其中加入sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sb... 阅读全文
摘要:
几个位运算的操作解释:<< :左(箭头的方向)移,移除的高位舍弃,低位补零 。>> :右(箭头的方向)移,低位移除的舍弃,高位补进符号位(如果是正数的话补0,负数的话补1 )。>>>:和上一个一样的右移,只是该操作无论符号位怎样,高位均补零 。& :将两个数按位进行 且操作 。| :将两个数按位进行或操作。^ :将两个数按位做异或运算。~ :对于操作数每位都取反操作 。对于位操作,均指该数字的原码进行操作,整数的原码是它本身,负数的原码是其对应整数的原码取反然后+1 。例如:15 的原码: 00000000 00000000 00000000 阅读全文
摘要:
1、hive函数:http://www.cnblogs.com/end/archive/2012/06/18/2553682.html2、hive QL语言:https://cwiki.apache.org/Hive/languagemanual-ddl.html#LanguageManualDDL-Create%252FDropTable3、creat [EXTERNAL] table ...... location '/***/***/' 无论创建外部还是内部表,若是不指定具体的表空间路径,则会在默认的路径下创建一个表明相同的文件夹作为表空间 。但是在drop table时 阅读全文
摘要:
由于google的svn不稳定,将这些代码都迁移到了github上 https://github.com/ddc496601562欢迎大家斧正讨论,有建议的可以邮件我 ~ ~ 谢谢 !! 阅读全文
摘要:
原题目:有一串的珠子(首尾不相连),共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n<=10),求连续的珠子的颜色总数为n时,长度最小的区间。题目分析:一 、暴力搜索 1、最简单的方法---暴力搜索,逐个扫描第i个位置开始包含n中颜色最短区间,时间复杂度为O(m^2) 。 2、从i开始扫描,每出现一种新的颜色,计数+1 ,当计数=n时候,结束,此时即为i开始的最短区间 。二 、 1、扫描一遍数组m,计算出每种颜色在数组m中下一次出现的位置,存在数据nextColor[m]中 (每种颜色的最后一个元素的下一个位置记为-1 ,在后面的程序中需要特殊处理)。 2、从0位置开始扫描数组 阅读全文
摘要:
package com.ddc.mem;public class ThreadLocalTestMain { ThreadLocal<AddInteger> localArgs=new ThreadLocal<AddInteger>(); AddInteger intance=new AddInteger(); public void mainTest(){ for(int i=0 ;i<10;i++){ ThreadTest thread=new ThreadTest(i); thread.start(); ... 阅读全文
摘要:
一个java运行起来执行代码,主要的内存消耗有这几块:1、堆2、栈 :栈是每个线程一个的,是以消耗的内存是内存大小*线程数,当线程数特多时候需要小心 。3、直接内存:主要是通道时候的缓存,在内存不足是也会报OutOfMemoryError错误,外带sun.misc.Unsafe.allocateMemory异常(这个我认为类似于C中的malloc的功能) 。4、socket的cache和buffer,这个也不在堆中分配,当无法分配时候,会报Too many open files 的错误。5、jni代码中,类库执行的代码内存,也不再堆中。6、虚拟机执行也要消耗一定的内存 。 阅读全文
摘要:
BTrace 是一款利用hotSpot虚拟机可以动态替换class的特点而完成的,可以对online的程序动态的改变类的行为(一般为加些打印日志),进而进行线上调试的一个工具。一篇淘宝技术团队的博客:http://rdc.taobao.com/team/jm/archives/509主要步骤如下(本次测试只针对BTrace和测试的程序在同一台机器上,remote的还待实验):1、下载地址:http://kenai.com/projects/btrace/downloads/download/releases/release-1.2.2/btrace-bin.zip2、解压到linux相应的目录 阅读全文
摘要:
继承关系:SequenceFileInputFormat extends FileInputFormat implements InputFormat 。SequenceFileInputFormat 代码如下(其实很简单): /** * 覆盖了FileInputFormat的这个方法,FileInputFormat通过这个方法得到的FileStatus[] * 长度就是将要运行的map的长度,每个FileStatus对应一个文件 */ @Override protected FileStatus[] listStatus(JobConf job) throws IOExce... 阅读全文
摘要:
以下是关于InetAddress的一些测试package com.ddc.gemantic;import java.net.InetAddress;import java.net.UnknownHostException;public class InetAddressTestMain { /**对于InetAddress的测试 * 关键词:主机名、主机别名、ip地址、ipv4、ipv6 * InetAddress是一个不可变对象 * InetAddress是一个对象,包含3个属性:主机名称、主机别名、主机ip * 一个ip对应唯一一个主机名,一个主机名可... 阅读全文
摘要:
问题:集群中的存储数据增大,导致datanode的空间都快占满了(以前的dfs.data.dir=/data/hdfs/dfs/data),机器的硬盘监控程序不停的报警 。 给每台机器加了一倍的存储硬盘(新的dfs.data.dir=/data/hdfs/dfs/data,/data/hdfs/dfs/data2 新的硬盘挂载在/data/hdfs/dfs/data2),但是现在的问题来了,以前装数据的那块盘还是满的,仍然在报警,怎么把数据均衡到这两块盘上面 ??解决:移动其中一个文件夹的数据(其实也就是block)到另外一个文件加 。原理:hdfs中文件的inode文件树信息以及每个文件对. 阅读全文
摘要:
简单话题识别的处理步骤:1、tf-idf处理词的值(idf为300万篇博文的切词)。2、切词并进行统计词频,依照tf-idf计算该词在向量中的维度值 。3、切分标题统计词频,标题的权重是3 (统计时,标题的实际词频*3) 。4、去掉非名词的词语,去掉一些自定义的无意义名词(像“今,今天”,“时候”等... 阅读全文
摘要:
#!/bin/shallTime=0iCounter=0grep 'dedup time :' $1 |while read LINEdo #echo "line is" $LINE oneTime=`echo $LINE |awk '{print $10}'` #echo "ont time is " $oneTime allTime=`expr $allTime + $oneTime` iCounter=`expr $iCounter + 1` echo $allTime "count is" $i 阅读全文
摘要:
转载自源代码:添加注释 。1. String str1 = "abc"; System.out.println(str1 == "abc");步骤:1) 棧中开辟一块空间存放引用str1,2) String池中开辟一块空间,存放String常量"abc",3) 引用str1指向池中String常量"abc",4) str1所指代的地址即常量"abc"所在地址,输出为truePS:没啥好所的,就是用字符串池中的字符串 。2. String str2 = new String("abc&q 阅读全文
摘要:
定义:1.强引用一般的引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。2.软引用(SoftReference)如果一个对象只具有软引用,那就类似于可有可物的生活用品。如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(Referenc 阅读全文
摘要:
shell命令:ls -al >out.log 2>&1命令含义:将shell命令的1(stdout)输出 和 2(stderr)输出都重定向到out.log这个文件中 。解释:ls -al ,一个commond执行后会有2种输出:1(stdout)输出 和 2(stderr) ,默认是将1重定向到标准的输出屏幕上 。 ls -al >out.log ,是将默认的输出(其实就是输出到屏幕上的stdout)重定向out.log文件中 。 2>&1 重定向的意思,&1表示获得1(stout)的标准输出,既是将2重定向到1 ,因为现在的1已经被重定向到 阅读全文
摘要:
1.shutdown shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。 而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时... 阅读全文
摘要:
package org.apache.hadoop.atest.datanade;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.apache.hadoop.util.DataChecksum;/***程序的主要目的是读取一个block文件和相应的meta文件,然后多相应的data数据进行校验 。**/ 阅读全文