Hive篇--相关概念和使用二

一.基本概念

Hive分桶:

1.概念

分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。 对于hive中每一个表、分区都可以进一步进行分桶。(可以对列,也可以对表进行分桶) 由列的哈希值除以桶的个数来决定每条数据划分在哪个桶中。

2.设置

set hive.enforce.bucketing=true; 默认:false;设置为true之后,mr运行时会根据bucket的个数自动分配reduce task个数。(用户也可以通过mapred.reduce.tasks自己设置reduce任务个数,但分桶时不推荐使用) 注意:一次作业产生的桶(文件数量)和reduce task个数一致。

3.用途

桶表 抽样查询 select * from bucket_table tablesample(bucket 1 out of 4 on columns); TABLESAMPLE语法: TABLESAMPLE(BUCKET x OUT OF y) x:表示从哪个bucket开始抽取数据 y:必须为该表总bucket数的倍数或因子

4.创建分桶表 CREATE TABLE psnbucket( id INT, name STRING, age INT) CLUSTERED BY (age) INTO 4 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Hive Lateral View概念

作用:

Lateral View用于和UDTF函数(explode、split)结合来使用。 首先通过UDTF函数拆分成多行,再将多行结果组合成一个支持别名的虚拟表。 主要解决在select使用UDTF做查询过程中,查询只能包含单个UDTF,不能包含其他字段、以及多个UDTF的问题 语法:

LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)

举例 :

select count(distinct(myCol1)), count(distinct(myCol2)) from psn2 LATERAL VIEW explode(likes) myTable1 AS myCol1 LATERAL VIEW explode(address) myTable2 AS myCol2, myCol3;

Hive 运行方式 1.CLI方式:

1.1 与hdfs交互         执行执行dfs命令         例:dfs –ls /

1.2 与Linux交互       !开头 例: !pwd 2.Hive脚本运行方式:

hive -e "" hive -e "">aaa hive -S -e "">aaa(简化一些输出比如时间等等)。 hive -f file hive -i /home/my/hive-init.sql hive> source file (在hive cli中运行)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zhangdd.com

mysql proxysql+mgr集群 centos7系统安装配置

wget https://codeload.github.com/sysown/proxysql/tar.gz/v1.4.4

2573
来自专栏乐沙弥的世界

Oracle 数据库实例启动关闭过程

Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为

1394
来自专栏散尽浮华

Mysql读写分离方案-MySQL Proxy环境部署记录

Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换。MySQL Proxy有一项强大功...

4108
来自专栏数据和云

时过境迁:Oracle跨平台迁移之XTTS方案与实践

作者简介 ? 谢金融 云和恩墨东区交付部 Oracle 工程师,多年来从事 Oracle 第三方服务,曾服务过金融、制造业、物流、政府等许多行业的客户,精通数据...

1.1K10
来自专栏喵了个咪的博客空间

[喵咪大数据]Hbase搭建和基本使用

[喵咪大数据]Hbase搭建和基本使用 ? 说完了Hive我们接着来看另外一个建立在Hadoop基础上的存储引擎HBase,HBase以内存作为缓存数据落地到H...

5049
来自专栏linux驱动个人学习

耳机驱动程序上报

1602
来自专栏小白安全

phpmyadmin新姿势getshell

在一个有WAF、并且mysql中的Into outfile禁用的情况下,我该如何getshell? 首先环境如下: OS:Windows 2003 ...

4086
来自专栏沃趣科技

Oracle 12c数据库优化器统计信息收集的最佳实践(二)

原文链接 http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-for-st...

3727
来自专栏james大数据架构

如何开发自己的搜索帝国之安装ik分词器

   Elasticsearch默认提供的分词器,会把每个汉字分开,而不是我们想要的根据关键词来分词,我是中国人 不能简单的分成一个个字,我们更希望 “中国人”...

3055
来自专栏FreeBuf

收集各类安全设备、Nginx日志实现日志统一管理及告警

近来安全测试项目较少,想着把安全设备、nginx日志收集起来并告警, 话不多说,直接说重点,搭建背景:

2757

扫码关注云+社区

领取腾讯云代金券