SET spark.sql.shuffle.partitions=10; SELECT page, count(*) c FROM logs_last_month_cached GROUP BY page ORDER BY c DESC LIMIT 10;

  当然,你也可以在hive-site.xml中进行设置来覆盖默认的值。目前,mapred.reduce.tasks属性仍然可以使用,在Spark内部,它被自动地转换成spark.sql.shuffle.partitions了。
  

二、Caching

shark.cache表属性不再可用,而且以_cached结尾的表格不再自动被缓存。在Spark 1.1.0中提供了CACHE TABLE 和 UNCACHE TABLE语句让用户显示的控制表的缓存。如下:

CACHE TABLE logs_last_month; 
UNCACHE TABLE logs_last_month;

  需要注意的是,CACHE TABLE logs是lazy的,它只在需要缓存的时候才进行缓存。也就是直到触发了一次查询才进行缓存。为了让强制缓存,你可以在CACHE TABLE之后COUNT一下表格即可强制缓存,如下:

CACHE TABLE logs_last_month; 
SELECT COUNT(1) FROM logs_last_month;

  另外,目前需要缓存相关的特性还不提供支持,主要包括如下:
1、User defined partition level cache eviction policy
2、RDD reloading
3、In-memory cache write through policy
更多的关于Shark迁移知识请参见官方文档。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Shark迁移到Spark 1.1.0 编程指南】(https://www.iteblog.com/archives/1116.html)
喜欢 (5)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!
(2)个小伙伴在吐槽
  1. 博主更新速度好快啊,还没发不出来就已经出文章了!!

    412554112014-09-13 10:54 回复