首页
学习
活动
专区
工具
TVP
发布

数据之美

专栏成员
138
文章
411299
阅读量
63
订阅数
一例 Hive join 优化实战
由于 hive 与传统关系型数据库面对的业务场景及底层技术架构都有着很大差异,因此,传统数据库领域的一些技能放到 Hive 中可能已不再适用。关于 hive 的优化与原理、应用的文章,前面也陆陆续续的介绍了一些,但大多都偏向理论层面,本文就介绍一个实例,从实例中一步步加深对 hive 调优的认识与意识。 1、需求 需求我做了简化,很简单,两张表做个 join,求指定城市,每天的 pv,用传统的 RDBMS SQL 写出来就这样的: SELECT t.statdate, c.cnam
用户1177713
2018-02-24
3K1
巧用 Hive 模拟分布式 grep
grep 由于内置高效的字符串搜索算法,兼容各种风格的正则,且功能众多,有着 linux 下字符串处理三剑客之一的称号,但是到了如今的大数据/分布式时代,这种单机时代的工具显得有些廉颇老矣。。。 1、需求背景 我们经常会遇到需要在 hadoop 上查找原始日志,校对 ETL 数据的情况,往往很多同学直接用的老办法: hadoop fs -cat /M_track/$yesterday/* | grep ooxx | wc -l 这种情况下是要把分布在整个集群上的日志都拉到单机上 grep 然后 wc,这是一
用户1177713
2018-02-24
1.2K0
Hive 基础(2):库、表、字段、交互式查询的基本操作
1、命令行操作 (1)打印查询头,需要显示设置: set hive.cli.print.header=true; (2)加"--",其后的都被认为是注释,但 CLI 不解析注释。带有注释的文件只能通过这种方式执行: hive -f script_name (3)-e后跟带引号的hive指令或者查询,-S去掉多余的输出: hive -S -e "select * FROM mytable LIMIT 3" > /tmp/myquery (4)遍历所有分区的查询将产生一个巨大的MapRe
用户1177713
2018-02-24
3.3K0
Hive 各版本关键新特性(Key New Feature)介绍
开源世界里的代码受社区推动和极客文化的影响,变化一直都很快。这点在 hadoop 生态圈里表现尤为突出,不过这也与 hadoop 得到业界的广泛应用以及各种需求推动密不可分(近几年大数据、云计算被炒烂
用户1177713
2018-02-24
2.5K0
基于 Hive 的文件格式:RCFile 简介及其应用
Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势。不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定目的而建,因此序列化和反序列化的成本过高。 1、hadoop 文件格式简介 目前 hadoop 中流行的文件格式有如下几种: (1)SequenceFile SequenceFile是Hadoop API 提供的一种二进制文件,它将数据以<key,value>的形式序列化到文件中。这种二进制文件内部使用Hadoop 的
用户1177713
2018-02-24
2.5K0
Hive 中的 LEFT SEMI JOIN 与 JOIN ON 的前世今生
hive 的 join 类型有好几种,其实都是把 MR 中的几种方式都封装实现了,其中 join on、left semi join 算是里边具有代表性,且使用频率较高的 join 方式。 1、联系 他们都是 hive join 方式的一种,join on 属于 common join(shuffle join/reduce join),而 left semi join 则属于 map join(broadcast join)的一种变体,从名字可以看出他们的实现原理有差异。 2、区别 (1
用户1177713
2018-02-24
3K0
Hive 基础(1):分区、桶、Sort Merge Bucket Join
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层都是相同的,只是上层做了些封装而已,如果你还不了解究竟 Join 有哪些方式,以及底层怎么实现的,请参考如下
用户1177713
2018-02-24
3.3K0
Hive 常见问题与技巧【Updating】
1Q: 是否有像类似于phpmyadmin一样的hive查询客户端,能以界面的方式查询hive语句和导出数据 A: 有的,客户端的话可以使用squirrel来连接hive,squirrel是一个通用的数据库查询客户端,还有有一个开源项目phphiveadmin也不错, web方式访问hive,这里也有一个hive web client(https://github.com/lalaguozhe/hiveweb-1) 2Q: 执行语句时候,能否控制reducer的个数 A: 可以在执行hiv
用户1177713
2018-02-24
1.5K0
Hive & Performance 学习笔记
注:本文来源于 Hortonworks 的 Adam Muise 在 July 23 2013 日的 Toronto Hadoop User Group 大会上的一次演讲, 本文只是稍作增删、整理
用户1177713
2018-02-24
1.5K0
Hive 中的复合数据结构简介以及一些函数的用法说明
目前 hive 支持的复合数据类型有以下几种: map (key1, value1, key2, value2, ...) Creates a map with the given key/value pairs struct   (val1, val2, val3, ...) Creates a struct with the given field values. Struct field names will be col1, col2, ... named_struct   (name1,
用户1177713
2018-02-24
3.8K0
Hive 在多维统计分析中的应用 & 技巧总结
多维统计一般分两种,我们看看 Hive 中如何解决: 1、同属性的多维组合统计 (1)问题: 有如下数据,字段内容分别为:url, catePath0, catePath1, catePath2, unitparams https://cwiki.apache.org/confluence 0 1 8 {"store":{"fruit":[{"weight":1,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":1
用户1177713
2018-02-24
1.9K0
Hive 中内部表与外部表的区别与创建方法
先来说下Hive中内部表与外部表的区别: Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径, 不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。 需要注意的是传统数据库对表数据验证是 schema on write(写时模式),而 Hive 在load时是不检查数据是否 符合schema的,hive 遵循的是 s
用户1177713
2018-02-24
2.5K0
通过hiveserver远程服务构建hive web查询分析工具
(1)hive 三种启动方式及用途,本文主要关注通过hiveserver(可jdbc连接)的方式启动  1, hive  命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive --service cli        用于linux平台命令行查询,查询语句基本跟mysql查询语句类似  2, hive  web界面的启动方式,hive --service hwi         用于通过浏览器来访问hive,提供基本的基于web的hive查询服务,可以看作是hiv
用户1177713
2018-02-24
1.1K0
Pig、Hive 自定义输入输出分隔符以及Map、Array嵌套分隔符冲突问题
PIG中输入输出分隔符默认是制表符\t,而到了hive中,默认变成了八进制的\001, 也就是ASCII: ctrl - A Oct   Dec   Hex   ASCII_Char  001   1       01     SOH (start of heading) 官方的解释说是尽量不和文中的字符重复,因此选用了 crtrl - A,单个的字符可以通过 row format delimited fields terminated by '#';  指定,PIG的单个分隔符的也可以通过 PigStor
用户1177713
2018-02-24
1.3K0
Pig、Hive、MapReduce 解决分组 Top K 问题
问题: 有如下数据文件 city.txt (id, city, value) cat city.txt  1 wh 500 2 bj 600 3 wh 100 4 sh 400 5 wh 200 6 bj 100 7 sh 200 8 bj 300 9 sh 900 需要按 city 分组聚合,然后从每组数据中取出前两条value最大的记录。 1、这是实际业务中经常会遇到的 group TopK 问题,下面来看看 pig 如何解决: a = load '/data/city.txt'
用户1177713
2018-02-24
1.1K0
Zookeeper 原理与实践
1、Zookeeper 的由来 在Hadoop生态系统中,许多项目的Logo都采用了动物,比如 Hadoop 和 Hive 采用了大象的形象,HBase 采用了海豚的形象,而从字面上来看 ZooKeeper 表示动物园管理员,所以大家可以理解为 ZooKeeper就是对这些动物(项目组件)进行一些管理工作的。 对于单机环境多线程的竞态资源协调方法,我们一般通过线程锁来协调对共享数据的访问以保证状态的一致性。 但是分布式环境如何进行协调呢?于是,Google创造了Chubby,而ZooKeeper则是对于Ch
用户1177713
2018-02-24
2.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档