您现在的位置 >> Hadoop教程 >> Hadoop实战 >> hive专题  
 

Shark对Hive的支持与不支持的语法介绍

【作者:Hadoop实战专家】【关键词:支持 优化 查询 】 【点击:83965次】【2014-03-3】
Shark是一种分布式SQL查询工具,它的设计目标就是兼容Hive,今天就来总结一下Shark对Hive特性的兼容。 一、Shark可以直接部署在Hive的数据仓库上。 * 关系运算符(=, ?当然,这些特性在Hive开发中也不经常使用。* 少数的Hive优化目前Shark是不支持的。  

相关热门搜索:ha

大数据标签:hadoop hdfs hive spark bigdata

问题导读:

1.什么是Shark?

2.Shark支持hive那些语法?

3.Shark不支持hive那些语法?

下面提到了Shark,那么这里首先解释一下什么是Shark

Shark即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。

了解了什么是Shark,下面与hive兼容性进行介绍

Shark是一种分布式SQL查询工具,它的设计目标就是兼容Hive,今天就来总结一下Shark对Hive特性的兼容。

一、Shark可以直接部署在Hive的数据仓库上。支持Hive的绝大多数特性,具体如下:

* Hive查询语句,包括以下:

* SELECT
* GROUP_BY
* ORDER_BY
* CLUSTER_BY
* SORT_BY

* 支持Hive中所有的操作符:

* 关系运算符(=, ?, ==, <>, <, >, >=, <=, 等)
* 算术运算符(+, -, *, /, %, 等)
* 逻辑运算符(AND, &&, OR, ||, 等)
* 复杂类型构造器
* 数学函数 (sign, ln, cos, 等)
* 字符串函数(instr, length, prinf, 等)

* 支持用户自定义函数(UDF)
* 支持用户自定义聚合函数(UDAF)
* 支持用户自定义的序列化格式(SerDe’s)
* 支持Joins

* JOIN
* {LEFT|RIGHT|FULL} OUTER JOIN
* LEFT SEMI JOIN
* CROSS JOIN

* 支持Unions
* 支持子查询

* SELECT col FROM ( SELECT a + b AS col from t1) t2

* 支持抽样(Sampling)
* 支持Explain
* 支持分区表
* 支持Hive中所有的DDL函数

* CREATE TABLE
* CREATE TABLE AS SELECT
* ALTER TABLE

* 支持Hive中所有的数据类型:

* TINYINT
* SMALLINT
* INT
* BIGINT
* BOOLEAN
* FLOAT
* DOUBLE
* STRING
* BINARY
* TIMESTAMP
* ARRAY<>
* MAP<>
* STRUCT<>
* UNIONTYPE<>

  二、下面是不支持的特性

  下面列出来的Hive特性在Shark是不支持的;当然,这些特性在Hive开发中也不经常使用。

* Shark不支持Hive中的桶(buckets)
* 在Hive中,不同的分区可以用不同的input format,目前在Shark中,所有的分区必须使用相同的input format
* 不等值的outer join(”key < 10″),在Shark中将会得到错误的结果
* 不支持Unique join
* 不支持单查询多插入语句
* 不支持列统计收集
* 不支持Hadoop archive
* 对于返回到CLI界面的结果信息,Shark目前只支持TextOutputFormat
* 少数的Hive优化目前Shark是不支持的。这些不支持的优化中有些是因为Shark是内存计算模型,所以这些优化(比如索引)就没必要去支持;其他的一些优化特性将在Shark未来版本中支持。

过往记忆

大数据系列hive相关文章:

最新评论
按部就班有什么鸟意思2014-09-10 07:54:12
我也新手
程序员_孙魁2014-09-09 03:36:42
2.3年至5年hadoop/hdfs/hive/hbase开发经验,熟悉hadoop体系架构设计,熟悉map/reduce编程
凌子2014-09-08 02:19:58
at org.apache.hadoop.util.Shell.run(Shell.java:379)
dongpf鹏飞2014-09-06 11:30:15
今天晚上大家记得在线、
sunnybuaa2014-09-06 12:15:43
[图片]
帅帅的学生2014-09-05 07:07:12
回顾一下偶像的各大爱粉爱称。碧波:Beliebers 霉霉:Swifties 小破:Directioners 傻脸娜:Selenators 呆米:Lovatics 水果:KatyCats 日日:Rihanna Navy 钱妞:Animals 鳖鳖:Little Monsters bee姐:Bey Hive 吸逼:Team Breezy 懒妮:Britney Army 麦粒:Smilers 麻辣鸡:Barbz 你是哪家粉呢?
解放单身2014-09-04 08:35:01
Hive 0.13 Release,更快的Tez/Stinger搞定了 http://t.cn/8sToaO9
 
  • Hadoop生态系统资料推荐