- 浏览: 855931 次
- 性别:
- 来自: 郑州
-
文章列表
从Hadoop URL 中读取数据
package org.urlcat;
import java.io.InputStream;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
public class URLCat {
static{
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
public st ...
- 2013-02-03 14:31
- 浏览 591
- 评论(0)
1.安装hadoop(1.0以上)
2.安装hive安装(0.9.0以上版本)
4.当然你还得安装jdk
4. mysql,同时准备个可访问的账号,这里采用root,最好配上远程访问权限。
修改hive下的conf文件夹中将hive-default.xml.template 复制并改名成hive-site.xml
这里是我的文件
<property>
<name>hive.metastore.local</name>
<value>true</value>
</proper ...
- 2013-02-03 13:14
- 浏览 501
- 评论(0)
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等 ...
- 2013-02-03 00:07
- 浏览 500
- 评论(0)
一、Eclipse 导入 JAR包
HIVE/LIB/*
HADOOP/LIB/hadoop-core-1.1.1.jar
二、启运HiveServer
hive --service hiveserver 10000 &
三、连接JAVA 测试代码
package org.hivequery;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.s ...
- 2013-01-31 00:03
- 浏览 432
- 评论(0)
JDBC, Java Database Connecive, Java 数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC 中实际上大量的提供的是接口。针对于各个不同的数据库生产商 ,只要想使用JAVA 进行数据库的开发,则对这些标准有所支持。
JDBC ...
- 2013-01-26 18:23
- 浏览 283
- 评论(0)
package org.rowsequence;
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.hive.ql.udf.UDFType;
import org.apache.hadoop.io.LongWritable;
/**
* UDFRowSequence.
*/
@Description(name = "row_sequence",
value = "_ ...
- 2013-01-26 00:53
- 浏览 1191
- 评论(0)
之前部门实现row_number是使用的transform,我觉得用UDF实现后,平时的使用会更方便,免去了transform相对繁琐的语法。
<wbr><wbr><wbr>用到的测试表为:</wbr></wbr></wbr>
hive> desc row_number_test;
OK
id1<wbr><wbr><wbr><wbr>int<br>
id2<wbr><wbr><wbr><wbr>stri ...
- 2013-01-26 00:30
- 浏览 720
- 评论(0)
通过 SerDe(serialize/deserialize) ,在数据序列化和反序列化时格式化数据。
这种方式稍微复杂一点,对数据的控制能力也要弱一些,它使用正则表达式来匹配和处理数据,性能也会有所影响。但它的优点是可以自定义表属性信息 SERDEPROPERTIES ,在 SerDe 中通过这些属性信息可以有更多的定制行为。
原数据类型:
"abc"@_@123@_@"192.168.1.2"@_@"2013-02-05 12:13:00"
1.Hive 增加JAR 包
add jar /opt/app/hi ...
- 2013-01-25 17:36
- 浏览 1483
- 评论(0)
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。
一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
a)文件格式:Text File,Sequence File
b)内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
c)用户提供的 map/reduce脚本:不管什么语言,利用 stdin/stdout
传输数据
d)用户自定义函数: Substr ...
- 2013-01-24 21:54
- 浏览 511
- 评论(0)
执行一个查询
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
之后过程中,会在终端上显示mapreduce的进度,执行完毕后,最后把查询结果输出到终端上,接着hive进程退出,不会进入交互模式。
使用静音模式执行一个查询
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a'
加入-S,终端上的输出不会有mapreduce的进度,执行完毕,只会把查询结果输出到终端上。这个静音模式很实用,,通过第三方程序调用,第三方程序通过hive的标准输出获取结果集。
使用静 ...
- 2013-01-23 22:11
- 浏览 457
- 评论(0)
HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_files。通过路径来标识的好处是,如果我们需要取特定分区的数据,只需要把这个路径下的数据取出来就可以了,不用扫描全部的数据。
HIVE默认是静态分区。但是有时候可能需要动态创建不同的分区,比如商品信息,我想根据它是否在线分成两个分区,这样后续如果要取在线商品,就只需要从在线的分区获取即可。动态分区可以通过下面的设置来打开:
[sql]
view plaincopy
sethiv ...
- 2013-01-23 21:55
- 浏览 508
- 评论(0)
hive在建表是,可以通过‘STORED AS FILE_FORMAT’ 指定存储文件格式
例如:
[plain]
view plaincopy
>CREATEEXTERNALTABLEMYTEST(numINT,nameSTRING)
>ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'
>STOREDASTEXTFILE
>LOCATION'/data/test';
指定文件存储格式为“TEXTFILE”。
hive文件存储格式包括以下几类:
TEXTFILE
SEQUENCEFILE
RCFILE
自定义 ...
- 2013-01-23 21:38
- 浏览 469
- 评论(0)
本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在 MapReduce环境下的大规模数据分析中扮演重要角色。
Facebook曾在2010 ICDE(IEEE International Conference on Data Engineering)会议上介绍了数 ...
- 2013-01-23 15:02
- 浏览 584
- 评论(0)
网上找了很多材料都是写了部份代码的,今天在峰哥的帮助下实现了此功能。
为何要设置此功能是由于 hive fields terminated by '||||' 不支持 字符串导致
将你的inputformat类打成jar包,如MyInputFormat.jar
将MyInputFormat.jar放到 hive/lib里,然后就可以建表了
假设你的inputFormat类路径是com.hive.myinput
则建表语句为:create table tbname(name stirng,id int, ...) stored as INPUTFORMAT 'com.hive.m ...
- 2013-01-23 13:20
- 浏览 542
- 评论(0)
Table-by-Day
hive> CREATE TABLE supply_2011_01_02 (id int, part string, quantity int);
hive> CREATE TABLE supply_2011_01_03 (id int, part string, quantity int);
hive> CREATE TABLE supply_2011_01_04 (id int, part string, quantity int);
hive> .... load data ...
hive> SELECT part,qua ...
- 2013-01-22 21:15
- 浏览 550
- 评论(0)