Мне нужно применить SQL-запрос к файлам CSV (текстовые файлы, разделенные запятыми). Мой SQL предопределен из другого инструмента и не может быть изменен. Он может содержать встроенные элементы выбора и псевдонимы таблицы в части FROM.
Для моей задачи я нашел две библиотеки с открытым исходным кодом (это требование к проекту), которые предоставляют драйверы JDBC:
- CsvJdbc
- XlSQL
- JBoss Teiid
- Создайте DB Apache Derby, загрузите все CSV в виде таблиц и выполните запрос.
Это проблемы, с которыми я столкнулся:
- он не принимает синтаксис SQL (он использует внутренние selects и псевдонимы таблицы). Кроме того, он не поддерживается с 2004 года.
- Я не мог заставить его работать, поскольку он имеет зависимость от SAX Parser, который вызывает исключение при анализе других документов. Аналогично, никаких изменений с 2004 года.
- Не проверял, поддерживает ли он синтаксис, но выглядит как накладные расходы. Для этого требуется несколько сущностей (Виртуальные базы данных, привязки). Из списка рассылки мне сказали, что последний выпуск поддерживает создание необходимых объектов. Кто-нибудь использовал его для такой простой задачи (обычно он может подключаться к нескольким типам данных, таким как CSV, XML или другие DBS и создавать виртуальные, унифицированные)?
- Можно ли это сделать легко?
Из 4 вещей, которые я рассматривал/пытался, только 3 и 4 кажутся мне жизнеспособными. Любые советы по этим или любым другим способом, с помощью которых я могу запросить мои CSV файлы?
Приветствия