自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构师思考实践

Life is too short, don’t live the same day twice.

  • 博客(285)
  • 资源 (4)
  • 收藏
  • 关注

原创 javax.mail 发邮件 添加附件

都是javax.mail 的使用,没有太多要讲的,代码贴上自己试验吧private MimeMessage mailMessage; // 邮件对象 private Multipart mp;// 附件添加的组件 private List files = new LinkedList();// 存放附件文件 /** * 增加发送附件 * * @param filename

2014-11-30 16:34:29 2596

原创 java 生成xml 编码 utf-f 、 gb2312

没有难度,直接上代码了/** * * @param fileName */ public static void createXmlUtf_8(String fileName) { Element root = DocumentHelper.createElement("root"); Document document = DocumentHelper.create

2014-11-30 14:25:43 4934

原创 hadoop 计数器

一、hadoop有很多自带的计数器,详细看过运行log的都会看到各种数据二、用户自定义计数器在开发中经常需要记录错误的数据条数,就可以用计数器来解决。1、定义:用一个枚举来定义一组计数器,枚举中的每个元素都是一个计数器在main类中定义enum RecordsCounter{ RIGHT_COUNTER, WRONG_COUNTER };2、使用

2014-10-28 22:42:41 1302

原创 hive join 优化 --小表join大表

1、小、大表 join在小表和大表进行join时,将小表放在前边,效率会高,hive会将小表进行缓存。2、mapjoin使用mapjoin将小表放入内存,在map端和大表逐一匹配,从而省去reduce。例子:select /*+MAPJOIN(b)*/ a.a1,a.a2,b.b2 from tablea a JOIN tableb b ON a.a1=b.b1在0.7版本

2014-10-25 21:49:25 25065

原创 hive union all 使用

功能:将两个表中的 相同的字段拼接到一起特点:union all不去重,数据会重复测试:create external table IF NOT EXISTS temp_uniontest_ta(a1 string,a2 string)partitioned by (dt string)row format delimited fields terminated by '...

2014-10-13 20:18:02 27558

原创 shell中获取时间,作为目录格式

最近写了一个小程序,需要用到时间,遍历作为目录的一部分#!/bin/bashfor i in {1..30}dodate=`date +%Y/%m/%d -d " $i days ago " `echo $datedonefor循环,取最近n天的日期。核心就是date=`date +%Y/%m/%d -d " $i days ago " `

2014-10-12 00:03:54 2102

原创 hive 各种 join (left outer join、join、full outer join)

一、概念1、左连接left outer join以左边表为准,逐条去右边表找相同字段,如果有多条会依次列出。2、连接join找出左右相同同的记录。3、全连接full outer join包括两个表的join结果,左边在右边中没找到的结果(NULL),右边在左边没找到的结果。会对结果去重,返回并集。二、实验1、准备数据create externa...

2014-08-18 20:17:03 68079

原创 HDFS 读取、写入、遍历目录获取文件全路径、append

1、从HDFS中读取数据Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSystem.get(conf); FSDataInputStream fsin= fs.open(path ); BufferedReader br =null; Strin

2014-07-08 20:58:05 15125

原创 HBase-scan API 通过scan读取表中数据

直接贴代码啦/** * * @param zkIp * @param zkPort * @param tablename * @param startRow 传null扫全表 * @param stopRow 已~结尾 * @throws Exception */ public static void scanTable(String zkIp,Stri

2014-07-05 18:37:54 5244

原创 Hadoop多目录输入,join,进入reduce,数据流分析

前言在做需求时,经常遇到多个目录,也就是多个维度进行join,这里分析一下,数据是怎么流动的。1、多目录输入使用MultipleInputs.addInputPath()  对多目录制定格式和map2、数据流分析map按行读入数据,需要对不同的输入目录,打上不同的标记(这个方法又叫reduce端连接),map在输出后会进行partition和sort,按照key进行排序,然后输

2014-06-28 19:00:12 1906

原创 hadoop 多目录输入,map到reduce如何排序

使用MultipleInputs.addInputPath 对多个路径输入现在假设有三个目录,并使用了三个mapper去处理,经过map处理后,输出的结果会根据key 进行join,如果使用TextPair,会根据第一个字段jion,第二个字段排序然后在作为reduce的输入,进行计算

2014-06-25 22:14:33 1711

原创 hive 常用命令

1、查看表结构信息  desc formatted table_name;  desc table_name;查看关联文件: desc extended f_tblog_online_mds;2、查看分区show partitions table_name;3、根据分区查询,提高速度select table_coulm from table_name whe

2014-06-25 21:57:49 1004

转载 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

http://liliphd.iteye.com/blog/1929358近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。 学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址http://v.163.com/special/opencou

2014-06-22 18:56:23 1274

转载 linux awk命令详解

转自: http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本:

2014-06-05 22:21:21 723

原创 eclipse 使用技巧、经验 (编码、格式化模板、字体)

1、设置编码为UTF-8 在Windows-                选择右侧框中的Text File encoding,改为utf-82、导入 格式化模板windows-》preference—》java-》code style-》code template点击import按钮3、字体大小Window - Preferences-》General

2014-06-05 21:48:18 1138

原创 svn 代码 回滚

先说方法,再说原理一、方法使用tortoisesvn  (小乌龟)1、在要回滚的项目,或文件上,右键 -> 显示日志  ,然后你选择想要回滚到的版本,在那个版本上右键->恢复到此版本 2、commit 代码二、原理将之前的版本回滚到了本地,然后在提交,成为最新的版本

2014-05-21 23:40:10 1377

原创 svn merge

一、Trunk: 主干,主工作目录,是所有开发功能的,最新版的,测试的,开发中的Branch: 分支,可以多人与主干并行开发、修改bug、较大改动Tags: 类似工作中的一个快照,保存特定版本,可以是Trunk,Branch的一个特定点上的快照实际上,branh和tag都是trunk的copy。模式:分支开发,主干发布。 二、Merge

2014-05-19 23:32:13 1099

原创 UltraEdit-32 使用技巧:右键关联,取消 bak文件

1、最近安装的UltraEdit-32 没有右键关联,可以在 高级 -》配置 -》文件关联 中 勾选 继承到资源管理器2、UltraEdit-32会自动备份编辑的文件,可以取消,但是建议保留,因为遇到意外情况可以恢复

2014-05-17 12:36:03 2570

转载 2048-AI程序算法分析

针对目前火爆的2048游戏,有人实现了一个AI程序,可以以较大概率(高于90%)赢得游戏,并且作者在stackoverflow上简要介绍了AI的算法框架和实现思路。但是这个回答主要集中在启发函数的选取上,对AI用到的核心算法并没有仔细说明。这篇文章将主要分为两个部分,第一部分介绍其中用到的基础算法,即Minimax和Alpha-beta剪枝;第二部分分析作者具体的实现。基础算法

2014-05-12 00:46:40 1713

原创 Spring MVC 简介

Spring MVC 是典型的mvc架构,适合web开发。controler 输入输出的控制器,也是对外view提供数据的接口,调用service层。model 数据,由bean组成(对应表),关联dao层。Spring MVC 的核心是DispatcherServlet ,用来截获你配置的请求,分发给相应的处理器去处理并返回结果。需要配置:例如 springMV

2014-05-11 23:27:05 7688 1

原创 maven 常用命令

刚开始用,记录一些常用的,后续慢慢更新。一、命令行1、打包mvn package2、清理已生成的项目 mvn clean 二、eclipse的插件1、打包  maven install

2014-05-11 23:16:25 1653

原创 maven 从svn导入项目遇到的问题 No marketplace entries found to handle yuicompressor maven plugin:1.3.0:compile

RT,使用eclipse导入项目时 报  No marketplace entries found to handle yuicompressor maven plugin:1.3.0:compile in Eclipse. Please see Help for more information我认为同事说的很对,eclipse是面向插件的,maven插件m2ecli

2014-05-10 10:40:26 4988

原创 String、StringBulider、StringBuffer 的区别

String 的大小是固定的,在进行+运算时会生成新的对象。StringBulider和StringBuffer都是动态的,但是StringBulider不是线程安全的,而StringBuffer是线程安全的。建议:字符串不经常修改可以使用String字符串经常修改且单线程使用,可以用StringBulider字符串经常修改且多线程使用,推荐StringBuffer

2014-04-30 14:57:54 1128

原创 约瑟夫环 java实现

问题:N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,下一个从1再开始报数,直到所有人都出去思路:就是计数,移除,没有太深的思想,直接上代码:package test;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/**

2014-04-30 09:27:43 8066 2

原创 mysql 左连接 自连接 例子

连接就是将两个表按照某个公共字段来拼成一个大表。左连接就是在做连接是以左边这个表为标准,来遍历右边的表。例子:用户访问记录:问题:查出看了湖南卫视但没有看北京卫视的用户信息逻辑:先通过左连接将看了湖南卫视和北京卫视的查出来,然后再将看了湖南卫视但不在刚才查出的结果中的用户查出来。SELECT * FROM test_visit WHERE channel='

2014-04-29 22:36:18 3330

原创 mysql常用查询:group by,左连接,子查询,having where

前几天去了两个比较牛的互联网公司面试,在sql这块都遇到问题了,哎,可惜呀,先把简单的梳理一下成绩表 score1、group by 使用按某一个维度进行分组例如:求每个同学的总分SELECT student,SUM(score) FROM score GROUP BY student求每个同学的平均分SELECT student,AVG(score) FR

2014-04-27 17:33:40 5464

原创 nginx 查看并发连接数

这里只说一下用命令查看(也可配置页面)通过查tcp连接数1、netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'结果:TIME_WAIT 2FIN_WAIT1 3ESTABLISHED 41SYN_RECV 1LAST_ACK 80红色为建立的连接数

2014-04-21 22:09:18 1484

原创 ReentrantLock与synchronized的区别

总的来说,lock更加灵活。主要相同点:Lock能完成synchronized所实现的所有功能不同:1.ReentrantLock功能性方面更全面,比如时间锁等候,可中断锁等候,锁投票等,因此更有扩展性。在多个条件变量和高度竞争锁的地方,用ReentrantLock更合适,ReentrantLock还提供了Condition,对线程的等待和唤醒等操作更加灵活,一个Reentrant

2014-04-20 12:07:20 1952

原创 volatile和synchronized 区别

1、什么是volatileVolatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。

2014-04-20 11:24:06 1417

转载 Hibernate+EhCache配置二级缓存

本文主要讲一讲Hibernate+EhCache配置二级缓存的基本使用方法,主要分以下两个方面介绍:(有关EhCache的基础介绍可参见:http://www.micmiu.com/architecture/cache/ehcache-start-demo/)Cache的多种配置方法Hibernate+EhCache集成demo[一]、Cache的多种配置方法

2014-04-20 11:07:28 711

原创 数据库索引,B+树

1、索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。建立索引的目的是加快对表中记录的查找或排序。索引的类型唯一索引、主键索引和聚集索引2、B+树B+树是针对磁盘存储专门优化的N叉排序树。目前数据库多采用两级索引的B+树,树的层次最多三层,可能需要5次磁盘访问才能更新一条记录(3次访问取数据索引及行ID,

2014-04-19 00:59:41 1800 1

原创 Hash散列算法之 Time33算法

hash在开发中经常用到,而现在time33算是最流行的哈希算法。算法:对字符串的每个字符,迭代的乘以33原型:hash(i) = hash(i-1)*33 + str[i] ;在使用时,存在一个问题,对相似的字符串生成的hashcode也类似,有人提出对原始字符串,进行MD5,然后再计算hashcode。

2014-04-19 00:24:01 4138

转载 Java线程池管理及分布式Hadoop调度框架搭建

平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头。怎么做一套简便的线程开发模式框架让大家从单线程开发快速转入多线程开发,这确实是个比较难搞的工程。那具体什么是线程呢?首先看看进程是什么,进程就是系统中执行的一个程序,这个程序可以使用内存、处理器、文件系统等相关资源。例如

2014-04-16 22:55:14 929

原创 java HashMap 实现原理探究

概念hash翻译过来是哈希,还有种叫法散列,学过数据结构的应该知道。哈希就是将任意长度输入值通过哈希算法得到一个固定长度输出值。这里不重点介绍hash算法。java 的hashmap实现1、存储结构首先我们知道 map中存的元素是Entry。hashmap类使用一个Entry数组来实现存储,数组中每个元素可能对应一个链表/** * The table, res

2014-04-16 22:15:25 1281

原创 tomcat 参数调优--maxThreads、acceptCount(最大线程数、最大排队数)

配置:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="800" acceptCount="1000"/>1、最大连接数 maxThreads

2014-04-15 22:33:48 27070 1

原创 hive异常 show tables 无法使用 : Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient

异常:hive> show tables;FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execution Error, return code 1 from

2014-04-15 12:30:13 2222

原创 hive导入 nginx 或 apache 日志

1、创建表CREATE TABLE nginxlog ( ipaddress STRING, identity STRING, user STRING, time STRING, request STRING, protocol STRING, status STRING, size STRING, referer STRING, agent STRING) ROW FO

2014-04-15 12:28:50 1699

转载 hadoop 作业调优参数整理及原理

1 Map side tuning参数1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的 部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存 buffer(MapOut

2014-04-14 11:46:39 846

转载 【hive实战】使用hive分析 hadoop 日志

实战2——Hadoop的日志分析1). 日志格式分析首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期、时间、级别、相关类和提示信息。如下所示: 2013-03-06 15:23:48,132 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: /****

2014-04-13 21:45:55 1496

转载 日志分析方法概述

日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。在Web日志中,每条日

2014-04-13 20:03:15 816

swing 简介 小例子

swing 简介 小例子 里面有一些小例子,学swing的可以看一下

2013-04-07

《MATLAB程序设计》中文版ppt教程 有源代码

详细讲解了MATLAB,是ppt,想要搞数学建模的很有用。 有源代码,很实用 想要学的不要错过呀

2010-04-27

离散数学(左孝凌)课后习题答案 很详细是计算机的基础课

离散数学(左孝凌)课后习题答案 很详细是计算机的基础课 课后习题 理论分析

2010-02-03

简单的php入门,一些基础知识

一个简单的php入门,喜欢php的朋友们可以看看,一点简单点的基础

2009-06-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除