by: java.lang.NoSuchMethodError: scala.collection.Iterator.aggregate(Ljava/lang/Object;Lscala/Functi

***

## by: java.lang.NoSuchMethodError: scala.collection.Iterator.aggregate(Ljava/lang/Object;Lscala/Functi

***

问题解决:

在使用succinct on spark 时报出如上错误:解决方法,将succinct jar包升级到 0.1.7, 或者将spark中的scala jar降级到2.10.*

参考:

http://succinct.cs.berkeley.edu/wp/wordpress/

Succinct 在apache Spark 实现了独特的权衡,和基于数据扫描技术和查询延迟相比,基于索引的技术,存储开销不会很差,通常更低。Spark集成succinct后可以直接基于压缩的RDD查询和搜索。而且不会存储支持查询的二级索引信息,没有数据的扫描, 解压缩。因为所有的必要信息都内嵌在压缩的RDD里,而succinct on Spark 可以直接针对压缩的RDD 可以对压缩的RDD进行搜索,计数,范围和随机访问查询。这允许用户将Apache Spark用作类似于ElasticSearch的文档存储(搜索文档),类似于HyperDex的键值存储(搜索值)和实验性DataFrame接口(基于表中的列搜索) 。当用作文档存储时,Apache Spark上的Succinct比搜索查询的ElasticSearch快2.75倍,同时需要低于2.5倍的存储空间,比原生Apache Spark快75倍。
1-1.安装部署Succinct Spark 包
1-1.1 从pony的公共目录下拷贝Tachyon的压缩包到“/home/pony”下,并解压

[pony@master~]$ cp  /home/pony/tgz/succinct-0.1.7.jar ~/

1-2 启动spark-shell的同时加载succinct 的jar包

	[pony@master ~]$cd 
	[pony@master ~]$ cd spark-2.1.1-bin-hadoop2.7/bin/

1-2.1.

 [pony@master bin]$ ./spark-shell  --executor-memory 4G --conf "spark.driver.extraJavaOptions=-XX:MaxPermSize=512" --jars ~/succinct-0.1.7.jar

1-3Succint的基本用法
1-3.1. 引入 Succinct Spark 包

scala>import edu.berkeley.cs.succinct._

1) 加载数据,创建RDD。

scala> val data = sc.textFile("/home/pony/spark-2.1.1-bin-hadoop2.7/README.md").map(_.getBytes) 

//将 Spark RDD 对象压缩进 Succinct Spark RDD 对象,并且持久化到内//存,由于数据压缩计算需要,这一步骤比较耗时间,不过我们用的测试数据//比较小,应该可以很快得到返回结果:

	val succinctRDD = data.succinct.persist()

2) 计算 RDD 中”spark”出现的次数,使用count()计数:

val count = succinctRDD.count("spark")

3) 计算 RDD 中出现 status 的位置,会创建一个新的RDD来保存所有出现位置的偏移量,使用search()查找:

val offsetsRDD = succinctRDD.search("protocol")

4) 获取前5个出现位置的偏移量:

scala>val offsets =  offsetsRDD.take(5)

5)抽取RDD中指定偏移量位置的10个bytes

val offset = offsets(0)
scala> succinctRDD.extract(offset,10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值