2016-07-28 2 views
1

J'ai un travail Spark dont la sortie finale est un filtre bloom Algebird, et je devrais réutiliser ce filtre bloom dans un autre travail Spark. Existe-t-il un moyen de stocker ce filtre de bloom dans un magasin kv (par exemple: redis) en utilisant Twitter Storehaus et de le récupérer dans l'autre tâche (désérialisation d'un filtre bloom d'algèbre)?Magasin algebird Bloom Filter avec Storehaus

Répondre

1

Si vous n'effectuez pas de modifications simultanées sur le bloomfilter, le meilleur moyen serait de stocker le bloomfilter sous forme de bitset distribué. Considérez l'espace clé pour être un index dans un partitionnement du tableau, et la valeur étant la partie du tableau pour cet index. Alors vous pouvez faire des lectures et des écritures avec beaucoup moins d'IO. Cela vous oblige à ré-implémenter l'algorithme de bloom au niveau ou à un storehaus MergeableStore.

Ce serait bien d'avoir cela en magasin, mais nous n'avons pas fait cela. Nous avons toujours utilisé des filtres de fleurs plus petits qui n'ont pas besoin d'être distribués.