Выполните SQL на файлах CSV через JDBC

Если бы это было бы возможно вообще, это очень зависело бы от механизма JavaScript. Более современный механизм JavaScript компилирует их код с помощью как раз вовремя, компилятор и питание с их внутренними переменными были бы или плохо для производительности, или плохо для устойчивости.

, Если механизм позволяет его, почему бы не заставить вызов функции взаимодействовать через интерфейс к некоторому собственному коду для обмена значениями переменной?

13
задан Markos Fragkakis 23 September 2009 в 23:15
поделиться

6 ответов

If your SQL is predefined and cannot be changed your best option is to load your CSV into a database and run queries against it.

Apache Derby is a viable option, so are MySQL, which even has a CSV storage engine or PostgreSQL.

Does your SQL use any proprietary functions / extensions? If so, that may limit your choices.

3
ответ дан 1 December 2019 в 23:47
поделиться

I'd say embedded db. I'd suggest either Javadb (Derby built into the Java API) or H2 if you don't care about pulling the extra dependency.

3
ответ дан 1 December 2019 в 23:47
поделиться

Я бы загрузил данные в HSQL (HypersonicSQL). Чистая Java, правильный SQL, проверенный временем. Практически все остальное занимает больше места.

9
ответ дан 1 December 2019 в 23:47
поделиться

Если вы хотите обрабатывать файлы csv как базы данных внутри Java-программы, вам стоит посмотреть на движок баз данных h2. Он имеет действительно хорошую поддержку чтения/записи CSV-файлов и работы с базами данных in-memory. Это преемник hsql, но более быстрый и с дополнительными возможностями. Вы можете прочитать о поддержке csv в учебнике по h2.

1
ответ дан 1 December 2019 в 23:47
поделиться

Существует сценарий Groovy, gcsvsql, который позволяет обрабатывать файлы CSV как таблицы базы данных, включая объединения. С помощью gcsvsql вы можете делать такие вещи, как:

gcsvsql "select * from people.csv where age> 40"

gcsvsql "select people.name, children.child from {{ 1}} people.csv, children.csv где people.name = children.name "

gcsvsql" выберите среднюю (оценку) из people.csv, где age <40 "

Вы можете найти этот сценарий, основанный на движке базы данных h2, в коде Google здесь:

http://code.google.com/p/gcsvsql/

0
ответ дан 1 December 2019 в 23:47
поделиться

возможно, немного поздно, извините за это.

Я разрабатываю csvjdbc уже больше года, и с нескольких недель я получил права "администратора" в этом проекте, так что я смог выпустить последнюю версию, которую я создал. Она делает все, что нужно "нам" (нам: мне и моим нынешним коллегам), и я добавляю кое-что по мере обнаружения ошибок.

посмотрите на нее сейчас и решите снова. (веб-документация все еще нуждается в пересмотре, для лучшего понимания проверьте тестовые примеры, которые очень обширны).

1
ответ дан 1 December 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: