Мне нужно сравнить наборы данных для анализа больших данных на основе Spark (текстовые файлы), которые очень похожи (> 98%), но имеют очень большие размеры. Проведя некоторое исследование, я обнаружил, что наиболее эффективным способом может быть использование дельта-кодировщиков. С этим я могу иметь справочный текст и хранить другие как приращения дельты. Однако я использую Scala, не поддерживающий дельта-кодировщики, и совсем не знаком с Java. Но поскольку Scala совместима с Java, я знаю, что можно заставить библиотеку Java работать в Scala.
Я обнаружил, что многообещающими реализациями являются xdelta, vcdiff-java и bsdiff . Немного поискав, я нашел самую интересную библиотеку, dez. Ссылка также дает тесты, в которых он работает очень хорошо, а код можно использовать бесплатно и он выглядит легковесным.
На данный момент я застрял с использованием этой библиотеки в Scala (через sbt). Я был бы признателен за любые предложения или ссылки для преодоления этого барьера, будь то конкретно для этой проблемы (кодировщики delata), библиотеки или работы с Java API в целом в Scala. Конкретно мои вопросы:
Есть ли библиотека Scala для дельта-кодировщиков, которую я могу использовать напрямую? (Если не)
Возможно ли, что я помещу файлы классов /notzed.dez.jar в проект и позволю sbt предоставить API в коде Scala?
Я как бы застрял в этой трясине, и любой выход был бы очень признателен.