SPARK 2.2.1 不支持的hive的特性

下面是spark2.2.1目前不支持的hive的一些特性。这些特性大多数很少在hive部署中应用。

1. hive的主要特性方面

  • 不支持表分桶操作:桶简单理解就是使用hash值对hive表进行分区。

2. hive深奥特性方面

  • 不支持union数据类型(Hive 0.7.0开始才引入,但目前仍对此类型支持不够完全)。 以下是示例,帮助理解该数据类型
    CREATE TABLE union_test(foo UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>);
    SELECT foo FROM union_test;
    
    查询结果:
    {0:1}
    {1:2.0}
    {2:["three","four"]}
    {3:{"a":5,"b":"five"}}
    {2:["six","seven"]}
    {3:{"a":8,"b":"eight"}}
    {0:9}
    {1:10.0}      

       以{0:1}为例,第1个位点的int值为1;同理,{1:2.0}, 第二个位点的double值为2.0 ......

  • 不支持unique join
  • 不支持列统计信息收集。

3. hive输入输出格式方面

  • 不支持CLI文件格式: spark仅支持文本输出格式,不支持将结果返回到CLI。
  • 不支持hadoop归档。

4. hive优化特性方面

少量hive优化特性在Spark 中尚不支持。这些不支持的某些特性(比如索引)并不十分重要,因为spark的内存计算模式。以下的其他特性则在未来的Spark SQL中可能被支持。

  • 块级位图索引(Block level bitmap indexes)及虚拟列
  • 对 joins 和 groupbys操作,Spark SQL 不能自动确定reducer的数量。目前在 Spark SQL中,通过SET spark.sql.shuffle.partitions=[num_tasks];来设置shuffle的并行度。
  • 查询元数据信息仍然需要启动任务去计算结果,而不像hive那样不需要启动计算资源
  • Spark SQL 中没有hive中的数据倾斜标志
  • Spark SQL 没有 STREAMTABLE hint
  • Spark SQL对于查询结果不支持小文件合并 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值