[Hive]Hive使用指南七 空值与NULL

1. NULL(null)值创建一个临时表tmp_null_empty_test,并插入一些NULL数据:CREATE TABLE IF NOT EXISTS tmp_null_empty_test( uid string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS T...
阅读(501) 评论(0)

[Hive]HiveServer2配置

HiveServer2(HS2)是一个服务器接口,能使远程客户端执行Hive查询,并且可以检索结果。HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。这篇文章将介绍如何配置服务器端。如何使用客户端与此服务器端交互将在下篇文章中介绍。备注Hive...
阅读(753) 评论(0)

[Hive]HiveServer2概述

1. HiveServer1HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果。HiveServer是建立在Apache ThriftTM(http://thrift.apache.org/) 之上的,因此有时会被称为Thrift Server,这可能会导致混乱,因为新服务HiveServer2也是建立在Thrift之上的.自从引入HiveServe...
阅读(480) 评论(0)

[Spark]Shark, Spark SQL, Hive on Spark以及SQL On Spark的未来

随着Spark SQ的引入以及Hive On Apache Spark的新功能(HIVE-7292)的引入,我们对这两个项目的立场以及它们与Shark的关系有了很多的关注。在今天的Spark Summit上,我们宣布我们正在停止Shark的开发,并将资源全部集中在Spark SQL上,这将为现有Shark用户提供一个Shark特色的圈子(will provide a superset of Sha...
阅读(292) 评论(0)

[Hive]JsonSerde使用指南

注意:重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在行尾分割文本文件。// this will work { "key" : 10 } // this will not work { "key" : 10 }2. 下载Jar使用之前先下载...
阅读(1123) 评论(0)

[Hive]Lateral View使用指南

1. 语法lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)* fromClause: FROM baseTable (lateralView)*2. 描述Lateral View一般与用户自定义表生成函数(如explode())结合使用。 如内置表生成函数中所述,UDTF为每...
阅读(556) 评论(0)

[Hive]Union使用指南

1. union语法select_statement UNION [ALL | DISTINCT] select_statement UNION [ALL | DISTINCT] select_statement ...UNION将多个SELECT语句的结果集合并为一个独立的结果集。当前只能支持UNION ALL(bag union)。不消除重复行。每个select语句返回的列的数量和名字必须一样...
阅读(3291) 评论(0)

[Hive]分析函数 RANK ROW_NUMBER CUME_DIST CUME_DIST

1. 常用分析函数下表列出了一些分析函数以及描述信息:分析函数描述RANK返回数据项在分区中的排名。排名值序列可能会有间隔DENSE_RANK返回数据项在分区中的排名。排名值序列是连续的,不会有间隔PERCENT_RANK计算当前行的百分比排名ROW_NUMBER确定分区中当前行的序号CUME_DIST计算分区中当前行的相对排名NTILE()将每个分区的行尽可能均匀地划分为指定数量的分组2. 语法...
阅读(251) 评论(0)

[Hive]窗口函数LEAD LAG FIRST_VALUE LAST_VALUE

窗口函数(window functions)对多行进行操作,并为查询中的每一行返回一个值。 OVER()子句能将窗口函数与其他分析函数(analytical functions)和报告函数(reporting functions)区分开来。1. 常用窗口函数下表列出了一些窗口函数以及描述信息:窗口函数描述LAG()LAG()窗口函数返回分区中当前行之前行(可以指定第几行)的值。 如果没有行,则返回...
阅读(560) 评论(0)

[Hive]窗口函数与分析函数

本文介绍了用于窗口函数和分析函数的Hive QL增强功能。所有窗口和分析函数操作都按照SQL标准。 当前版本支持以下窗口函数和分析函数:1 窗口函数LEAD 返回分区中当前行后面行(可以指定第几行)的值。 如果没有行,则返回NULL。LAG 返回分区中当前行之前行(可以指定第几行)的值。 如果没有行,则返回NULL。FIRST_VALUE 返回相对于窗口中第一行的指定列的值。LAST_VALUE...
阅读(607) 评论(0)

[Hive]Hive自定义函数UDF

当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数用户自定义函数(user defined function),针对单条记录。 编写一个UDF,需要继承UDF类,并实现evaluate()函数。在查询执行过程中,查询中对应的每个应用到这个函数的地方都会对这个类进行实例化。对于每行输入都会调用到evaluate()函数。而evaluate()函数处理的值会返回给Hi...
阅读(3230) 评论(0)

[Hive]Hive使用指南六 日期相关函数

下面介绍一下常用的Hive日期处理相关函数。1. to_date 日期时间转日期函数(1)to_date语法:to_date(string timestamp)(2)返回值:   string(3)说明: 返回日期时间字段中的日期部分。(4)举例:hive> select to_date('2011-12-08 10:03:01') from dual;2011-12-082. year 日期...
阅读(1154) 评论(0)

[Hive]Hive使用指南四 客户端导入数据

根据导入的地方不一样,主要介绍下面几种方式:(1)从本地文件系统中导入数据到Hive表;(2)从HDFS上导入数据到Hive表;(3)从别的表中查询出相应的数据并导入到Hive表中;1. 本地文件系统导入Hive表中1.1 导入普通Hive表1.1.1 创建普通Hive表CREATE TABLE IF NOT EXISTS order_uid_total(uid string, bucket_ty...
阅读(824) 评论(0)

[Hive]Hive使用指南五 客户端导出数据

根据导出的地方不一样,将这些方式分为三种:(1)导出到本地文件系统中(2)导出到HDFS中(3)导出到Hive的另一个表中1. 导出到本地文件系统中hive (test)> insert overwrite local directory '/home/xiaosi/data/employee'           > select * from employee;WARNING: Hive-on...
阅读(877) 评论(0)

[Hive]那些年我们踩过的Hive坑

(1)问题一  首先,采用这个命令: hive -hiveconf hive.root.logger=DEBUG,console 可以查看详细信息然后分析可知,缺少mysql的jar包,下载mysql-connector-java-5.1.32.tar.gz,并进行一下操作。 下一步操作,添加jar包: (2)问题二...
阅读(5742) 评论(0)

[Hive]Hive使用指南二 Hive命令的3种调用方式

1. 多语句执行 执行HQL脚本 hive –f  /root/shell/hive-script.sql hive-script.sql类似于script一样,直接写查询命令就行。 hive-script.sql是hive 语句的集合: xiaosi@qunar:~$ vim hive_script.sqlselect * from search_click;sele...
阅读(1261) 评论(0)
    个人资料
    • 访问:1246347次
    • 积分:20025
    • 等级:
    • 排名:第434名
    • 原创:623篇
    • 转载:132篇
    • 译文:50篇
    • 评论:170条
    博客专栏
    文章分类
    最新评论