0
我试图为数据框中的大量字符串创建布隆过滤器 - 大约1.2亿。平均每个字符串20-25个字符,总数据量超过我们的默认spark.driver.maxResultSize
1GB。我不想更改maxResultSize
,因为将来输入数据的大小会增加时,我将不得不再次更改它。使用大型数据集在Spark上训练BloomFilter
Spark中有什么方法可以将数据从小数据块中流出来,并通过调用BloomFilter.putString()
来训练BloomFilter?我也尝试使用Dataset.toLocalIterator()
,但由于源数据集的性质,我不得不将它合并到100个大分区,使得这100个分区中的每一个太大而不适合驱动程序内存。
作为最后的手段,我正在考虑将数据收集到HDFS文件中,并使用DFSInputStream读取它,但是如果Spark中内置了某些内容,我想避免它。
请在您的代码段中的'import'声明 – javadba