??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
20180904期 Hive数据模型-桶表

转载   JackmaSong   2018-09-04   浏览量:22


一、概述

1、桶表是对数据进行哈希取值,然后放到不同文件中存储。

2、数据加载到桶表时,会对字段取hash值,然后与桶的数量取模。把数据放到对应的文件中。

3、物理上,每个桶就是表(或分区)目录里的一个文件,一个作业产生的桶(输出文件)和reduce任务个数相同。

4、桶表专门用于抽样查询,是很专业性的,不是日常用来存储数据的表,需要抽样查询时,才创建和使用桶表。

二、创建桶表

这里按照ename来创建桶表,分五个Bucket

hive> create table emp_bucket(

   > empno int,

   > ename string,

   > job string,

   > mgr int,

   > hiredate string,

   > salary float,

   > comm float,

   > deptno int

   > )

   > CLUSTERED  by (ename) into 5 buckets

   > row format delimited fields terminated by ',';

OK

Time taken: 2.856 seconds

三、往桶表中插入数据

特别注意:执行数据插入前,需要设置以下参数

set hive.enforce.bucketing=true;

这里将emp表中的数据插入emp_bucket表

hive> insert into table emp_bucket select * from emp;

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask

MapReduce Jobs Launched:

Job 0: Map: 1   Cumulative CPU: 0.67 sec   HDFS Read: 1438 HDFS Write: 1313 SUCCESS

Total MapReduce CPU Time Spent: 670 msec

hive> select * from emp_bucket;

OK

7369    SMITH   CLERK   7902    1980/12/17      800.0   NULL    20

7499    ALLEN   SALESMAN        7698    1981/2/20       1600.0  300.0   30

7521    WARD    SALESMAN        7698    1981/2/22       1250.0  500.0   30

7566    JONES   MANAGER 7839    1981/4/2        2975.0  NULL    20

7654    MARTIN  SALESMAN        7698    1981/9/28       1250.0  1400.0  30

7698    BLAKE   MANAGER 7839    1981/5/1        2850.0  NULL    30

7782    CLARK   MANAGER 7839    1981/6/9        2450.0  NULL    10

7788    SCOTT   ANALYST 7566    1987/4/19       3000.0  NULL    20

7839    KING    PRESIDENT       NULL    1981/11/17      5000.0  NULL    10

7844    TURNER  SALESMAN        7698    1981/9/8        1500.0  0.0     30

四、查看桶表在HDFS中的存放形式

[[email protected] ~]# hdfs dfs -ls /user/hive/warehouse/emp_bucket/

-rw-r--r--   1 root supergroup         92 2018-08-16 20:06 /user/hive/warehouse/emp_bucket/000000_0

-rw-r--r--   1 root supergroup        189 2018-08-16 20:06 /user/hive/warehouse/emp_bucket/000001_0

-rw-r--r--   1 root supergroup        378 2018-08-16 20:06 /user/hive/warehouse/emp_bucket/000002_0

-rw-r--r--   1 root supergroup        282 2018-08-16 20:06 /user/hive/warehouse/emp_bucket/000003_0

-rw-r--r--   1 root supergroup        372 2018-08-16 20:06 /user/hive/warehouse/emp_bucket/000004_0

可以看出,桶表生成的数据为5各个文件,一个桶表对应一个文件,相同Hash值会存放到同一个桶


转载自://blog.51cto.com/2951890/2169947

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



20180607早课记录26-Hive
1.hive哪些sql会触发mrjob带聚合函数,某些insert,还有createtableasselect2.createtabletasselect...这样的SQL会不会创建mrjob会3.hive的数据分为哪两块分别存储哪里元数据和真实数据,分别存储在mysql,hdfs中4.一般工作中,udf编写是很多的,那么怎样临时生效,永久生效?临时生效就是addjar,然后createtempo
20180604早课记录24-Hive
1.hive数据分为哪两块?分别存储在哪?元数据和数据本身;mysql等关系型数据库和hdfs2.hive的建表SQL语句你们觉得里有哪些内容?(不光光是字段的定义)定义分区,分隔字符,内外表之分3.默认的换行符和分割符是什么?/t/r4.加载数据或本地数据到hive表或者覆盖hive表,语法是什么?LOADDATALOCALINPATH'xxx'OVERWRITEINTOTABL
Hive环境搭建及简单使用
前言:上篇文章我们介绍了Hive源码编译的相关内容,本篇文章将主要介绍Hive环境的搭建步骤及简单使用。1.下载安装包并解压#下载地址//archive.cloudera.com/cdh5/cdh/5/选择hive-1.1.0-cdh5.7.0.tar.gz包,也可用我们上篇文章编译来的包[[email protected]~]$lltotal32drwxrwxr-x4hadoophado
Hive 高级编程——深入浅出学Hive
目录:初始HiveHive安装与配置Hive内建操作符与函数开发HiveJDBChive参数Hive高级编程HiveQLHiveShell基本操作hive优化Hive体系结构Hive的原理配套视频课程第一部分:产生背景
hadoop hive的安装
以下是本人hive的安装过程:hive是Hadoop中最常用的工具,可以说是必装工具。按apache官方文档,推荐使用svn下载后编译,但build时,因为依赖关系,整了很久,下了很多包也没有成功。推荐使用tar.gz包,直接安装...
20180531早课记录22-Hive
1.hive是什么?基于Hadoop的一个数据仓库工具2.hive的默认使用什么数据库?生产上我们一般用什么?默认使用derby生产使用MySQL3.hive的元数据存储在哪?数据存储在哪?MySQLHDFS4.hive的SQL语法和什么类似和MySQL语法类似5.hive底层执行计算引擎是什么MapReduce/tez/spark6.hive使用mysql做元数据存储,那么部署过程中,注意什么注
hive错误FAILED:SemanticException Error10041 :Nopartitionpredicatefoundfor如何解决?
hive错误FAILED:SemanticException[Error10041]:Nopartitionpredicatefoundfor如何解决?
关于Hive调优的实例讲解
关于Hive调优的实例讲解。1javaheapspace异常,如果仅设置:setmapredmapchildjavaopts=-Xmx2048m;
如何理解HIve函数row_number?
如何理解HIve函数row_number?使用语法:使用语法:ROW_NUMBER()OVER(PARTITIONBYCOLUMNORDERBYCOLUMN)
hive中leftjoin、leftouterjoin和leftsemijoin的区别详解
hive中leftjoin、leftouterjoin和leftsemijoin的区别详解。先说结论,再举例子。