代码改变世界

随笔档案-2013年02月

nodejs同步读取console输入

2013-02-28 20:41 by java20130722, 494 阅读, 收藏,
摘要: var fs = require('fs'); function readSyn() { process.stdin.pause(); var response = fs.readSync(process.stdin.fd, 1000, 0, "utf8"); process.stdin.resume(); return response[0].trim(); }nodejs中的console读入是异步的。上面的是同步读取console的代码。PS:个人觉得,如果是基于console的nodejs,异步的读console总是有点儿怪怪的。 阅读全文

Hive 中SerDe概述

2013-02-28 14:22 by java20130722, 682 阅读, 收藏,
摘要: 一、背景1、当进程在进行远程通信时,彼此可以发送各种类型的数据,无论是什么类型的数据都会以二进制序列的形式在网络上传送。发送方需要把对象转化为字节序列才可在网络上传输,称为对象序列化;接收方则需要把字节序列恢复为对象,称为对象的反序列化。2、Hive的反序列化是对key/value反序列化成hive table的每个列的值。3、Hive可以方便的将数据加载到表中而不需要对数据进行转换,这样在处理海量数据时可以节省大量的时间。二、技术细节1、SerDe是Serialize/Deserilize的简称,目的是用于序列化和反序列化。2、用户在建表时可以用自定义的SerDe或使用Hive自带的SerD 阅读全文

hive源码结构分析(编译器)

2013-02-28 11:29 by java20130722, 658 阅读, 收藏,
摘要: 本文转自:http://samuschen.iteye.com/blog/860809Hive是将SQL语句转换成hadoop的MapReduce程序,通常在客户端执行hive命令,然后输入SQL语句后,hive将SQL语句生成多个MR的job,然后将这些job提交给hadoop进行执行,完成后,再把结果放入到hdfs或者本地的临时文件中。Hive中的表结构信息都是保存在关系型数据库中,如mysql,derby等,可以通过hive-site.xml中配置数据库的URL,用户名,密码等。而表的实际数据内容保存在hadoop的hdfs文件中,行和列数据分别用特殊字符串分格开,以便能够读取数据,默认 阅读全文

Chapter17— Memory-Mapping Files 进程间共享数据进行通信

2013-02-27 22:24 by java20130722, 467 阅读, 收藏,
摘要: 第十七章的实例有个利用 Memory-Mapped File 来实现进程间共享数据和通信。Step1:调用CreateFileMapping 函数创建一个 Memory-Mapped File Object。该函数的原型如下:HANDLE WINAPI CreateFileMapping( __in HANDLE hFile, __in LPSECURITY_ATTRIBUTES lpAttributes, __in DWORD flProtect, __in DWORD dwMaximumSizeHi... 阅读全文

Hive官方手册翻译(Getting Started)

2013-02-27 15:58 by java20130722, 224 阅读, 收藏,
摘要: 翻译Hive官方文档系列,文中括号中包含 注: 字样的,为我自行标注的,水平有限,翻译不是完美无缺的。如有疑问,请参照Hive官方文档对照查看。内容列表Cloudera制作的Hive介绍视频安装与配置系统需求安装Hive发行版从Hive源码编译运行Hive配置管理概览运行时配置Hive, Map-Reduce 与本地模式错误日志DDL 操作元数据存储DML 操作SQL 操作查询示例SELECTS 和 FILTERSGROUP BYJOINMULTITABLE INSERTSTREAMINGSimple Example Use CasesMovieLens User RatingsApache 阅读全文

[官版翻译ing]OpenStack云计算快速入门之一:OpenStack及其构成简介

2013-02-27 15:53 by java20130722, 196 阅读, 收藏,
摘要: 转自:http://blog.chinaunix.net/uid-22414998-id-3263551.html《OpenStack Starter Guide for Ubuntu 12.04 -Compute, Object Storage (all-in-one), Image, and Identity services plus Dashboard》官方教程翻译版OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装。我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解。我不是英语专业,我觉.. 阅读全文

hive动态分区与静态分区

2013-02-26 15:39 by java20130722, 916 阅读, 收藏,
摘要: HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_files。通过路径来标识的好处是,如果我们需要取特定分区的数据,只需要把这个路径下的数据取出来就可以了,不用扫描全部的数据。HIVE默认是静态分区。但是有时候可能需要动态创建不同的分区,比如商品信息,我想根据它是否在线分成两个分区,这样后续如果要取在线商品,就只需要从在线的分区获取即可。动态分区可以通过下面的设置来打开:[sql]view plaincopysethive.exec.dynamic. 阅读全文

hive知识

2013-02-26 14:49 by java20130722, 191 阅读, 收藏,
摘要: Hive常用的SQL命令操作创建表hive> CREATE TABLE pokes (foo INT, bar STRING);创建表并创建索引字段dshive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);显示所有表hive> SHOW TABLES;查看表结构hive> describe tablename;按正条件(正则表达式)显示表,hive> SHOW TABLES '.*s';表添加一列hive> ALTER TABLE pokes A 阅读全文

[置顶] 面向领域概念:流的思考

2013-02-25 20:31 by java20130722, 235 阅读, 收藏,
摘要: PCAP是一种经常在计算机网络研究中被使用的文件格式。其按时间先后顺序记录了经过某条链路的数据报文。PCAP文件格式较为简单,主要有三个组成部分:PCAP文件头部、PCAP数据包头部以及数据包数据。在PCAP中,数据包是按照时间先后顺序存储的。而已有的如libpcap和WinPcap等程序库也是基于数据包为单元对象进行封装的。而在PCAP中,并没有“流”(具有相同五元组:源IP地址,目的IP地址,源端口,目的端口和协议的数据包串)这个概念。在捕获报文得到的PCAP文件中,绝大多数情况都同时存在着不止一条流,而PCAP是按照包的到达时间顺序记录报文的。所以,流在PCAP文件中的存储顺序是分隔的, 阅读全文

Top JavaScript MVC Frameworks

2013-02-22 09:13 by java20130722, 216 阅读, 收藏,
摘要: As more and more logic ends up being executed in the browser, JavaScript front-end codebases grow larger and more difficult to maintain. As a way to solve this issue developers have been turning to MVC frameworks which promise increased productivity and maintainable code. As part of the new communit 阅读全文

Hive原理与不足

2013-02-21 14:47 by java20130722, 273 阅读, 收藏,
摘要: 转自:http://blog.csdn.net/wind5shy/article/details/8560059架构UI:用户提交查询请求与获得查询结果。包括三个接口:命令行(CLI)、Web GUI(Hue)和客户端。Driver:接受查询请求与返回查询结果。实现了session的概念,以处理和提供基于JDBC/ODBC执行以及颉取的API。Compiler: 编译器,分析查询SQL语句,在不同的查询块和查询表达式上进行语义分析,并最终通过从metastore中查找表与分区的元信息生成执行计划。Metastore:元数据储存,元数据存储在MySQL或derby等数据库中。元数据包括Hive各 阅读全文

hive 三种启动方式及用途

2013-02-21 14:34 by java20130722, 696 阅读, 收藏,
摘要: 1, hive命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli 用于linux平台命令行查询,查询语句基本跟mysql查询语句类似2,hiveweb界面的启动方式,hive –service hwi 用于通过浏览器来访问hive,感觉没多大用途3, hive远程服务 (端口号10000) 启动方式, hive –service hiveserver& 用java等程序实现通过jdbc等驱动的访问hive就用这种起动方式了,这个是程序员最需要的方式了 也可以自己指定端口 hive --service hiveserver -... 阅读全文

hive中UDF和UDAF使用说明

2013-02-21 14:26 by java20130722, 364 阅读, 收藏,
摘要: Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式:Java Integer/String, Hadoop IntWritable/Textc)用户提供的map/reduce脚本:不管什么语言,利用stdin/stdout传输数据d)用户自定义函数: Substr, Trim, 1 – 1e)用 阅读全文

Nodejs根据字符串调用对象方法

2013-02-19 20:13 by java20130722, 509 阅读, 收藏,
摘要: 根据字符串动态调用方法是一个很有用的技巧,在nodejs中:var kiwi = { name:'kiwi', say:function () { console.log("my name is" + this.name); } } kiwi['say'](); // => my name is kiwi 阅读全文

java连接access数据库----简单demo

2013-02-19 15:41 by java20130722, 392 阅读, 收藏,
摘要: 用户java访问access2007 不需要配置数据源!public static void main(String[] args) throws SQLException, UnsupportedEncodingException { // --Access 数据库路径 String dbpath = "C:\\Users\\hlu\\Desktop\\hua\\hua_dic_db.mdb"; //路劲最好不要出现中文,本人测试过程中中文报错! // --连接字符串 String url = "jdbc:odbc:DRIVER={Microsoft Acces 阅读全文

DBA常用SQL语句

2013-02-19 10:58 by java20130722, 268 阅读, 收藏,
摘要: 查看表空间的名称及大小:SQL>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;查看表空间物理文件的名称及大小:SQL>select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space 阅读全文

重要的和成熟的手机跨平台工具

2013-02-18 15:52 by java20130722, 149 阅读, 收藏,
摘要: As part of the new community-driven research initiative, we are examining the importance and adoption level of a range of cross platform mobile tools that aim to help developers deliver applications on a variety of mobile platforms. The tools we're going to examine are:PhoneGap (Apache Cordova), 阅读全文

Ubuntu 12.04 临时禁用和启动面板

2013-02-06 12:49 by java20130722, 155 阅读, 收藏,
摘要: 启动触控面板命令:sudo -s modprobe psmouse禁用触控面板命令:sudo rmmod psmouse以上命令只是临时启用和禁用触控面板,关机后就失效了。暂未找到永久禁用的办法转自:http://zhidao.baidu.com/question/145832398.html 阅读全文

ubuntu 12.04 解决txt文件中中文乱码问题

2013-02-05 14:39 by java20130722, 166 阅读, 收藏,
摘要: 在终端中输入两个命令gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']" gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030' 阅读全文

sudo 出现unable to resolve host 解决方法

2013-02-04 22:39 by java20130722, 285 阅读, 收藏,
摘要: Ubuntu环境, 假设这台机器名字叫abc(机器的hostname), 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host abc虽然sudo 还是可以正常执行, 但是警告讯息每次都出来,而这只是机器在反解上的问题, 所以就直接从/etc/hosts 设定, 让abc(hostname) 可以解回127.0.0.1 的IP 即可./etc/hosts 原始内容 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 localhost ip 阅读全文

ubuntu 12.04 修改 grub 启动参数

2013-02-04 22:19 by java20130722, 494 阅读, 收藏,
摘要: 我的电脑是装了两个系统,一个是 win7,另一个是 ubuntu 12.04。默认情况下,每次开机时,电脑会显示grub菜单等待30秒,默认是选中ubuntu的,这个太浪费时间了。 查了一下资料,原来通过设置可以将grub设置为每次默认选中上次进入的系统,而且还可以设定等待时间。首先在终端输入命令:sudo gedit /etc/default/grub然后修改其内如下,我在下面贴出了文件中的前面几行,后面的都没动,其实后面也都是注释而已。最后还要运行 update-grub 命令,提交本次修改的设置。# If you change this file, run 'update-gru 阅读全文

ubuntu12.04 64bits 安装 Atheros AR8161 有线网卡驱动的解决方法

2013-02-04 21:57 by java20130722, 295 阅读, 收藏,
摘要: 你机子网卡如果是Atheros AR8161,那么在安装好ubuntu12.04 64bits后,ifconfig是没有eth0的。不过不急,你只要按照下面的步骤,1:首先去http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2012-03-12-p.tar.bz2下载网卡驱动。2:切换到root,执行apt-get install linux-headers-generic(报错也不要在意)3:解压下载的驱动到此目录tar xvf compat-wireless-2012-03-12-p.tar.bz24 阅读全文

ubuntu 12.04 英文系统怎么调出 ibus输入法

2013-02-04 21:43 by java20130722, 210 阅读, 收藏,
摘要: 点击主屏幕右上角图标,选择 "System Settings"在打开的 System Settings 再选择 "Language Support"在"Language"属性框中的最下面的 "Keyboard input method System" 选中 "ibus”在主屏幕左上角的"dash home"中搜索框输入"ibus",然后双击"Keyboard input methods"在打开的"IBus Prefernces" 阅读全文

ubuntu 12.04 install flash for firefox

2013-02-04 20:36 by java20130722, 204 阅读, 收藏,
摘要: How to install flash for firefox in ubuntu 12.04?step1. download tar.gz package from adobe flash download site.step2. unzip tar.gz package.step3. copylibflashplayer.so library to /usr/lib/firefox/plugins : sudo cp libflashplayer.so /usr/lib/firefox/pluginsstep4. copy usr directory files to /usr :sud 阅读全文

[置顶] 塔式起吊机是怎么安装的?

2013-02-02 12:24 by java20130722, 205 阅读, 收藏,
摘要: 昨天回家,市区漫天的灰尘,到处都在修,修房子,修二环路。看到一个很高的塔式起吊机。我就想到了几个问题这么长的长臂是怎么弄到那么高的未知的?后面那几个大石板放在后臂是怎么弄的?想起那些几十层的塔式起吊机又是怎么弄的?如果我是这个工程的施工人,我会怎么去弄?好像是个有点儿意思的问题。我想了一个下午,然后到网上搜了下,可以看下这个视频:http://www.tudou.com/programs/view/E5e8C7yMw7Q/答案不是最重要的,从平常生活中的东西来锻炼自己的思考能力是件很有意思的事情 阅读全文

HIVE元数据表/数据字典

2013-02-01 08:20 by java20130722, 2742 阅读, 收藏,
摘要: HIVE元数据表/数据字典0人收藏此文章,我要收藏表名说明BUCKETING_COLSHive表CLUSTERED BY字段信息(字段名,字段序号)COLUMNSHive表字段信息(字段注释,字段名,字段类型,字段序号)DBSNUCLEUS_TABLES元数据表和hive中class类的对应关系PARTITIONSHive表分区信息(创建时间,具体的分区)PARTITION_KEYSHive分区表分区键(名称,类型,comment,序号)PARTITION_KEY_VALSHive表分区名(键值,序号)PARTITION_PARAMSSDS所有hive表、表分区所对应的hdfs数据目录和数据格 阅读全文