一、环境 1、Hadoop 0.20.2 2、Hive 0.5 3、操作系统 Linux m131 2.6.9-78.8AXS2smp #1 SMP Tue Dec 16 02:42:55 EST 2008 x86_64 x86_64 x86_64 GNU/Linux 二、步骤 1、直接贴上脚本吧 #!/bin/bash #give the params: name value tablename
一、背景 1、当进程在进行远程通信时,彼此可以发送各种类型的数据,无论是什么类型的数据都会以二进制序列的形式在网络上传送。发送方需要把对象转化为字节序列才可在网络上传输,称为对象序列化;接收方则需要把字节序列恢复为对象,称为对象的反序列化。 2、Hive的反序列化是对key/value反序列化成hive table的每个列的值。 3、Hive可以方便的将数据加载到表中而不需要对数据进行转换,这样在
一、背景 1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。 2、分区表指的是在创建表时指定的partition的分区空间。 3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。 二、技术细节 1、一个表可以拥有一个或者
一、环境 Hadoop 0.20.2版本、Hive-0.5.0版本、JDK1.6 二、使用目的 1、一般来说我们对hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,所以,对于这样的模式我建议是用来做一些测试比较合适,并不适合做产品的开发和应用。 2、因此,就产生的JDBC连接的方式,当然还有其他的连接方式,比如ODBC等。
一、环境描述 1、Hadoop版本0.20.2,操作系统Linux、JDK 1.6 2、Hive版本0.5.0 二、元数据的存储 1、如果之前进行了建表操作,但是后来对hdfs format后,通过Hive的cli来输入指令show tables查看表,表结构依然存在,但是hdfs文件系统中对应的目录却不存在。那是因为hive的元数据还存在原因导致。元数据默认存放在metastore_db中,删除
一、安装准备 1、下载hive-0.5.0-bin版本:http://apache.etoak.com/hadoop/hive/hive-0.5.0/ 2、JDK版本:jdk-6u20-linux-i586.bin 3、操作系统:Linux s132 2.6.9-78.8AXS2smp #1 SMP Tue Dec 16 02:42:55 EST 2008 x86_64 x86_64 x86_64
一、定义 1、Hive是facebook数据团队基于hadoop开发的数据仓库封装。 2、Hive将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。 3、以数据库的方式去管理HDFS。 4、Hive把sql语句解析为MapReduce任务进行运行。 二、优点 1、学习成本低,拥有传统的关系型数据库知识即可以用类SQL语句快速实现简单的MapReduce计算。 2、不必开发专门的Ma
一、数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据。 数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载。 1.1 员工表 -- 建表语句 CREATE TABLE emp( empno INT, -- 员工表编号 ename STRING, -- 员工姓名 job STRING, --
一、加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] LOCAL 关键字代表从本地文件系统加载文件,省略则代表从 HDFS 上加载文件: 从本地文件系统加载文件时, filepath
一、视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到视图中。 1.2 创建视图 CREATE VIEW [IF NOT EXISTS] [
一、分区表 1.1 概念 Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大。 分区为 HDFS 上表目录的子目录,数据按照分区存储在子目录中。如果查询的 where 字句的中包含分区条件,则直接从该分区去查找,而不是扫描整个表目录,合理的分区设计可以极大提高查询速度和性能。 这里说明一下分区表并 Hive 独有的概念,实际上这个概念
一、Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name --DATABASE|SCHEMA 是等价的 [COMMENT database_comment] --数据库注释
一、Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g.
一、安装Hive 1.1 下载并解压 下载所需版本的 Hive,这里我下载版本为 cdh5.15.2。下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进行解压 tar -zxvf hive-1.1.0-cdh5.15.2.tar.gz 1.2 配置环境变量 # vim /etc/profile 添加环境变量: export HIVE_HOM
一、简介 Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。 特点: 简单、容易上手 (提供了类似 sql 的查询语言 hql),使得精通 sql 但是不了解 Java 编程的人也能很好地进行大数据分析; 灵活性高,可以自定义用户函数 (