自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(221)
  • 收藏
  • 关注

原创 JAVA内存处理--堆和栈

1. 容易被搞晕的--堆和栈由于"堆"和"栈"这两个概念是看不见摸不着的东西,让很多程序员都整不明白是怎么回事,其实这两个概念也没有什么好研究的,因为堆和栈程序员根本没有办法控制其具体内容。我们只需要了解一点,栈与堆都是Java 用来在内存中存放数据的地方就行了。然后再弄清楚这两个概念分别对应这程序开发的什么操作,以及堆和栈的区别即可。1.1 堆--用new 建立,垃圾自动回收负责回收1、堆是一个"运行时"数据区,类实例化的对象就是从堆上去分配空间的;2、在堆上分配空间是通过"new

2010-08-03 13:16:00 5223 10

转载 App数据分析

在和大量移动应用开发者接触的过程中,我们注意到有一个现象是:很多开发者只注意应用的下载量和激活量,他们把这些指标看成是一款应用成功与否的标志。于是很多应用出现了“重推广、轻运营”,甚至是“有推广、无运营”的情况。但是,一个人真正成为某款应用的用户是在哪个时刻呢?是他决定下载这款应用的时候吗?还是他安装了这款应用的时候?事实上,都不是。甚至当他启动并进入了这款应用的时候,也还没有真正成为这款

2014-02-28 09:33:11 3787

转载 Win7 eclipse Hadoop Failed to set permissions of path

背景:win7下用eclipse远程连接linux里的hadoop调试开发12/04/24 15:32:44 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable12/04/

2014-02-17 08:49:54 1171

转载 Hadoop 1.2.1 eclipse 插件编译

在ubuntu上进行hadoop相关的开发,需要在eclipse上安装hadoop开发插件。最新释放出的hadoop包含源码的包,以hadoop-1.1.1为例,包含相关的eclipse插件的源码,因此可以针对自己的eclipse版本来编译一个hadoop的eclipse插件,我的eclipse的版本代号为indigo,以此为例,下面详细介绍插件的编译安装过程。一. 下载hadoop-1.2.

2014-02-16 18:18:30 1192

转载 Hadoop集群环境搭建(win7下vmware虚拟ubuntu)

(1)实验环境:最新的vmware workstation10.0.0 和 ubuntu-12.04.3服务器版本,hadoop 1.1.2,java1.7在win7下虚拟三个 乌班图系统,作为一个主节点两个从节点。分别去官网下载这四个的安装包(2) vmware10.0.0安装:按提示安装vmware10.0.0 并破解,安装完成后显示(2)创建三个乌班图虚拟机点

2014-02-16 16:19:56 4740

转载 Hive 工作原理

hive就是一个将sql语句转化为MR工具hive的工作原理:1、使用antlr定义sql语法,(详细见hive.g),由antlr工具将hive.g编译为两个java文件:HiveLexer.java HiveParser.java,可以将输入的sql解析为ast树2、org.apache.hadoop.hive.ql.Driver对ast树进行初步的解析(combile

2014-02-14 17:28:49 7380

转载 MapReduce中的Shuffle和Sort分析

MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。MapReduce 框架的核心步骤主要分两部分:Map 和Reduce。当你向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任务,然后分配到不同

2014-02-14 16:33:40 888

转载 Hive 全排序 优化

使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑

2014-02-14 14:35:21 1190

转载 Hadoop Hive 中的排序 Order by ,Sort by ,Distribute by, Cluster By,

order byorder by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。set hive.mapred.mode=nonstrict; (default value / 默认值)set hive.mapred.mode=strict;order by

2014-02-14 14:33:26 4483

转载 HDFS Datanode数据存储格式分析

在Datanode中,每一个block都对应一个数据存储文件,数据存储文件以_blk开头;同时,每一个block还对应一个元数据文件,元数据文件以.meta结尾(注意:meta file的命名格式如下blokcFileName_generationStamp.meta)。       首先将一下我理解的几个概念。在HDFS中有storage的概念,每一个节点对应一个storage。我们可以理解

2014-02-13 17:55:03 1427

HDFS Datanode数据存储格式分析

首先在Datanode中,每一个block都对应一个数据存储文件,数据存储文件以_blk开头;同时,每一个block还对应一个元数据文件,元数据文件以.meta结尾(注意:meta file的命名格式如下blokcFileName_generationStamp.meta)。首先将一下我理解的几个概念。在HDFS中有storage的概念,每一个节点对应一个storage。我们可以理解为一个

2014-02-13 17:51:01 543

转载 Hive限制

1.更新,事务,索引,不支持,是全表扫描2.创建表的字段类型和java类型是对应的。不支持日期类型,提供转换为字符串类型的函数。3.查询语句中,不支持having,可写嵌套的select来解决;group by后只能是表的定义列名,不能像mysql那样可以为查询语句为逻辑处理结果声明的别名,但可为逻辑处理过程语句4.内置函数查看命令(show functions;desc

2014-02-13 17:42:21 757

转载 使用 Hive 构建数据库

当您需要处理大量数据时,存储它们是一个不错的选择。令人难以置信的发现或未来预测不会来自未使用的数据。大数据是一个复杂的怪兽。用 Java™ 编程语言编写复杂的 MapReduce 程序要耗费很多时间、良好的资源和专业知识,这正是大部分企业所不具备的。这也是在 Hadoop 上使用诸如 Hive 之类的工具构建数据库会成为一个功能强大的解决方案的原因。作者:Peter J. Jama

2014-02-13 17:02:10 858

转载 Hive中partition如何使用

一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、技术细节

2014-02-13 15:16:26 715

转载 Hive QL 语法

Hive 的官方文档中对查询语言有了很详细的描述,请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。1. DDL Operations创建表:hive> CREATE TABLE pokes (foo INT, bar STRING); 创建表并

2014-02-13 10:43:11 1024

转载 Oracle undo 表空间管理

Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要指定一个UNDO 表空间。 如果设为manual,系统启动后使用rollback segment方式存储undo信息。如果系统没有指定undo_management,那么系统默认以

2013-12-18 15:18:29 2026

转载 数据分析师的层级

前段时间在微博上看到一张某集团的数据分析师职位层级表,由于表格太大,在网页上显得字体太小,很难看清楚,因此我将它简化处理成如下两张表格,分为层级1和层级2:从表中可以看出,专家级的数据分析在分析方法的要求方面与资深数据分析师是相同的,层级2与层级1的能力差别主要体现在业务分析能力、管理能力和影响力等方面。要从“使命必达”的助理数据分析师,成长为“独挡一面”的数据分析专家,其中必然需要学

2013-11-23 16:37:16 1635 1

数据分析师的层级

前段时间在微博上看到一张某集团的数据分析师职位层级表,由于表格太大,在网页上显得字体太小,很难看清楚,因此我将它简化处理成如下两张表格,分为层级1和层级2:从表中可以看出,专家级的数据分析在分析方法的要求方面与资深数据分析师是相同的,层级2与层级1的能力差别主要体现在业务分析能力、管理能力和影响力等方面。要从“使命必达”的助理数据分析师,成长为“独挡一面”的数据分析专家,其中必然需要学

2013-11-23 16:27:11 160

转载 数据分析师的成长之路

一、掌握基础、更新知识。 基本技术怎么强调都不过分。这里的术更多是(计算机、统计知识), 多年做数据分析、数据挖掘的经历来看、以及业界朋友的交流来看,这点大家深有感触的。数据库查询—SQL数据分析师在计算机的层面的技能要求较低,主要是会SQL,因为这里解决一个数据提取的问题。有机会可以去逛逛一些专业的数据论坛,学习一些SQL技巧、新的函数,对你工作效率的提高是很有帮助的。统计知

2013-11-19 15:40:59 2515

转载 Oracle 临时表空间的增删改查

1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024 file_size from

2013-10-19 20:35:07 801

转载 Oracle 表空间设计

Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。常用原则:1、一般较大的表或索引单独分配一个tablespace。2、Read only对象或Read mostly对象分成一组,存在对应的tablespace中。3、若tablespace中的对象皆是

2013-10-19 17:19:41 1215

转载 Oracle中JOB的使用详解及多线程JOB调用

我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。以下是常用的参数说明:字段(列) 类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER VARCHAR2(30

2013-10-11 08:18:46 6721

转载 ORA-28000: the account is locked-的解决办法

ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;

2013-07-29 12:57:00 776

转载 MySQL五个常用图形化管理工具

MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1、phpMyAdmin(http://www.phpmyadmin.net/)  phpMy

2013-03-12 18:10:29 1381

MySQL五个常用图形化管理工具

MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1、phpMyAdmin(http://www.phpmyadmin.net/)

2013-03-12 17:55:52 251

转载 win7下mysql的安装

一 , 当前mysql的最新版本是5.5.25a。到http://dev.mysql.com/downloads/mysql/下载mysql安装文件 。我们这里下载mysql-5.5.25a-win32.msi就可以了,下载完,直接点击安装。mysql有好几个版本,稍微了解下各个版本之间的区别:  MySQL Community Server :社区版本 不提供官方技术支持,是免费的

2013-03-12 17:54:34 3160

转载 Oracle Database link 使用,链接两个不同服务器数据库

物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链接的数据库

2012-12-19 18:03:05 9203 2

转载 Oracle两个数据库互相访问,DBLink使用

测试条件:假设某公司总部在北京,新疆有其下属的一个分公司。在本次测试中,新疆的计算机为本地计算机,即本要的IP地址为:192.168.1.100 北京的总部有一个集中的数据库,其SID是SIDBJ,用户名:userbj,密码:bj123,北京的IP地址是:192.168.1.101。在本地(新疆)的分公司也有一个数据库,其SID是SIDXJ,用户:userxj,密码:xj123,新

2012-12-17 16:47:20 8066

转载 HASH JOIN ,MERGE JOIN ,NESTED LOOP 比较

NESTED LOOP:对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回子集较小表的作为外表(CBO 默认外表是驱动表),而且在内表的连接字段上一定要有索引。当然也可以用ORDERED 提示来改变CBO默认的驱动表,使用USE_NL(ta

2012-12-15 10:26:55 818

转载 sys和system用户区别

oracle的sys和system用户有啥区别?1 )   最重要的区别,存储的数据的重要性不同 【 sys 】 所有 oracle 的数据字典的基表和视图都存放在 sys 用户中,这些基表和视图对于oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。 sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是 oracle 权

2012-11-14 10:39:40 1376

转载 UNIX内核和Shell的交互方法

任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。 为了不同的需要,UNIX提供了不同的Shell。       启动UNIX时,程序UNIX(内核)将被调入计算机内存,并一直保留在内存中直到机器关闭。在引导过程中,程序 init将进入后台运行一直

2012-11-14 10:01:56 2974

转载 虚拟机

虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,他可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。因此,当

2012-11-13 14:21:12 972

转载 系统内核(kernel)

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。       内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存

2012-11-12 10:56:59 2442

转载 C语言与JAVA区别

首先来说说他们各自的历史:C语言的发展历史C语言的发展颇为有趣。它的原型ALGOL 60语言。(也成为A语言)1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。1970年,美国贝尔实验室的Ken

2012-11-11 09:44:20 17173

转载 Linux介绍

Linux内核(英语:Linux kernel),使用于类Unix操作系统,Linux家族的操作系统内核,以C语言写成,符合POSIX标准,采用GNU通用公共许可证释出,是目前最受欢迎的自由电脑操作系统内核。Linux最早是由芬兰黑客林纳斯·托瓦兹(Linus B. Torvalds)为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,林纳斯·托瓦兹当时在U

2012-11-10 23:37:40 978

转载 C语言和Unix的发明史

最初开发unix的两位科学家贝尔实验室的丹尼斯·里奇(Dennis MacAlistair Ritchie)和肯尼思·汤普森(Kenneth Lane Thompson)都感觉到用汇编或者其他有高级语言倾向的语言编写的unix内核很难移植,于是他们便有开发一种独立于平台还能够开发内核的语言的想法,最终促成了c的诞生,所以说c与unix有着很密切的关系,在开发内核是它几乎是不可替代和比拟的。

2012-11-10 21:15:22 4521

转载 C语言和C++的区别

C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说

2012-11-10 20:55:30 1316

转载 C语言与汇编语言的区别

如果你做得程序比较小几k而已,用汇编代码程度会比c小点,应为你可以规划的很清楚,但是如果你的程序稍微大一些那么c的优势就体现出来了,开发速度比汇编快了多得多,代码长度也不错(因为你无法规划到最最优化),维护修改比汇编容易得多(恐怕没有那个项目老板的要求不会改吧?),一般的实时性没有问题,真的要求时间非常精确也可以嵌入汇编(以前做cpu卡,7816-3的标准,就用汇编做最底层单字节读写然后用c主程序

2012-11-10 20:53:36 11332 2

转载 ORA-28000: the account is locked-的解决办法

ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;

2012-11-10 14:01:49 1062

转载 Oracle rowid详解

1. rowid的介绍先对rowid有个感官认识:SQL> select ROWID from Bruce_test where rownumROWID------------------ ----------AAABnlAAFAAAAAPAAAROWID的格式如下:数据对象编号 文件编号 块编号 行编号OOOOOO FFF BBBBBB RRR

2012-10-14 21:49:21 906

空空如也

空空如也

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

TA关注的人

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