Hive的Transform功能

Hive的TRANSFORM关键字提供了在SQL中调用自写脚本的功能,适合实现Hive中没有的功能又不想写UDF的情况。例如,按日期统计每天出现的uid数,通常用如下的SQL SELECT date, count(uid) FROM xxx GROUP BY date 但是,如果我想在red...

2019-03-21 17:43:16

阅读数 45

评论数 0

hive array_contains

某个字段条件过多,查询条件失效 select * from login where dt='20130101' and (ver !='3.1' or ver !='3.2' or ver != '4.0' or ver != '5.2');   select * from login ...

2018-10-19 16:48:08

阅读数 2889

评论数 0

Hive 中的复合数据结构简介以及一些函数的用法说明

目录[-] 一、map、struct、array 这3种的用法: 1、Array的使用 2、Map 的使用 3、Struct 的使用 4、数据组合 (不支持组合的复杂数据类型) 二、hive中的一些不常见函数的用法: 1、array_contains (Collection Func...

2018-10-19 16:47:14

阅读数 46

评论数 0

HIVE中select除了某些字段之外的剩余所有字段

HIVE中select除了某些字段之外的剩余所有字段这是HIVE中查询语句的一个小技巧,一个表字段太多,我们想要除个别字段外的剩余所有字段,全部列出来看起来难受,实际上hive语句可以解决这个问题。Hive 0.13.0之后,select列表支持正则表达式了insert overwrite tab...

2018-07-05 20:23:30

阅读数 1151

评论数 0

Hive中的TRANSFORM:使用脚本完成Map/Reduce

首先来看一下数据:12345hive> select * from test;OK1       32       23       1假设,我们要输出每一列的md5值。在目前的hive中是没有这个udf的。我们看一下Python的代码:123456789101112#!/h...

2018-06-22 12:15:52

阅读数 110

评论数 0

Hive调用python脚本实现数据清洗、统计过程

本实例通过python脚本对电影数据进行清洗,帮助读者了解hive调用python脚本的整个流程。操作步骤:1、创建基表CREATE TABLE u_data ( userid INT, //用户ID movieid INT, //电影ID rating INT, //电影...

2018-06-22 12:15:01

阅读数 601

评论数 0

Hive分析 函数 GROUPING SETS,CUBE,ROLLUP

GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。Hive版本为 apache-hive-0.13.1数据准备:2015-03,2015-03-10,coo...

2018-06-19 09:25:52

阅读数 64

评论数 0

HIVE External&TBLPROPERTIES(二)

HIVE External&TBLPROPERTIES(二)1.Externalhive中有两种表:外部表和内部表(managed and external)。可以通过desc formatted table_name 命令来查看表的信息,来辨别表是外部表还是内部表。 内部...

2018-05-16 13:37:46

阅读数 119

评论数 0

Hive 脚本执行

hive执行脚本hive -e “sql语句” 会将查询的结果打印在控制台上。 hive -e “sql语句” >> xxx 会将查询的结果重定向到xxx文件中,会显示OK和抓取的数据条数 hive -S -e “sql语句” >&...

2018-05-14 13:51:15

阅读数 801

评论数 0

Hive UDTF 多粒度计算优化

2018-05-04 15:38:23

阅读数 84

评论数 0

Hive优化

要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多...

2018-05-04 15:35:55

阅读数 66

评论数 0

Hive SQL操作与函数自定义(二)

9 Operators and UDFs9.1 内置运算符9.1.1 关系运算符操作符运算对象的类型描述A <=> BALL都是NULL时,返回TRUE,有一为NULL时,返回FALSE,都不为NULL时,与‘=’运算符一样。A <...

2018-05-03 11:18:29

阅读数 70

评论数 0

Hive SQL操作与函数自定义(一)

与传统SQL一致,并且概念简单的,本文没有详细说明或完全没有说明。另外,本文也没有按照官文一字不漏地翻译,只是提炼本人认为需要的。 1 DDL1.1 Create/Drop/Alter/Use Database1.1.1 Create DatabaseCREATE (DATABASE|SCHEMA...

2018-05-03 11:17:04

阅读数 102

评论数 0

向Hive程序传递变量的三种方法

图 1 外部向Hive程序中传递变量的方法使用Hive编写程序最常用的方法是将Hive语句写到文件中,然后使用hive -f filename.hql来批量执行查询语句。经常需要将外部参数传入到hql语句中替换其中的变量来动态执行任务,比如动态设定数据库名、表名、时间值、字段序列等变量,以达到脚本...

2018-05-03 11:07:34

阅读数 491

评论数 0

Hive 的collect_set使用详解

有这么一需求,在Hive中求出一个数据表中在某天内首次登陆的人;可以借助collect_set来处理sql:[html] view plain copy select count(a.id)   from (select id,collect_set(time) as t from t_actio...

2018-04-16 14:46:08

阅读数 312

评论数 0

Hive的Collect函数

Hive的Collect函数有以下表idname1001A1001B1001C实现以下功能idname1001A,B,C即按照id 进行group by,将每个id的name组成一个list放到name字段中。select id,collect_list(name) from table grou...

2018-04-16 14:45:32

阅读数 258

评论数 0

hive lateral view 与 explode详解

1.explodehive wiki对于expolde的解释如下:explode() takes in an array (or a map) as an input and outputs the elements of the array (map) as separate rows. UDT...

2018-04-16 14:43:57

阅读数 482

评论数 0

Lateral View用法 与 Hive UDTF explode

Lateral View是Hive中提供给UDTF的conjunction,它可以解决UDTF不能添加额外的select列的问题。 1. Why we need Lateral View? 当我们想对hive表中某一列进行split之后,想对其转换成1 to N的模式,即一行转多列。 hiv...

2017-06-30 13:43:19

阅读数 1477

评论数 0

如何解决hive同时计算多个分位数的问题

http://blog.csdn.net/sinat_27339001/article/details/52189843 众所周知,原生Hive没有计算中位数的函数(有的平台会有),只有计算分位数的函数percentile 在数据量不大的时候,速度尚可。但是数据量一上来...

2017-04-07 22:01:12

阅读数 878

评论数 0

Hive – Group By 的实现 explain分析

目录(?)[-] 准备数据计算过程OperatorExplain 准备数据 [java] view plain copy SELECT uid, SUM(COUNT) FROM logs GROUP BY uid;   ...

2017-03-23 18:35:34

阅读数 942

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭