may*_*yur 5 scala bloom-filter bigdata apache-spark
我在Apache Spark中使用了Bloom过滤器的Breeze实现。我的布隆过滤器需要200,000,000个密钥。但是我面临以下异常:
User class threw exception: org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 5.0 failed 4 times, most recent failure: Lost task 1.3 in stage 5.0 (TID 161, SVDG0752.ideaconnect.com): org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow. Available: 0, required: 1
Run Code Online (Sandbox Code Playgroud)
我知道要避免这种情况,我可以增加spark.kryoserializer.buffer.max值,但是由于群集资源的限制,我不能将其增加到2GB以上。
以下是代码:
val numOfBits=2147483647
val numOfHashFun=13
val bf = hierachyMatching.treeAggregate(new BloomFilter[String](numOfBits,numOfHashFun))(
_ += _, _ |= _)
Run Code Online (Sandbox Code Playgroud)
其中hierachyMatching是包含200M条记录的String类型的Rdd。
我的问题:
任何与此有关的想法或建议,将不胜感激。提前致谢。
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |