Обработка CSV-файлов из Интернета с использованием встроенной базы данных Java - PullRequest
0 голосов
/ 20 декабря 2008

Краткая версия: если я не хочу долго хранить данные, как мне программно создать базу данных в HSQLDB и загрузить в нее некоторые данные CSV? Моя схема будет точно соответствовать файлам, и файлы имеют соответствующие имена столбцов.

Это автоматический процесс.

Детали:

Мне нужно применить несколько простых методов SQL к трем файлам CSV, загруженным через Интернет, затем создать несколько DTO, которые я затем смогу использовать с существующим кодом для дальнейшей обработки, и сохранить их через REST. На самом деле я не хочу возиться с базами данных, но файлы CSV связаны внешними ключами, поэтому я подумал об использовании встроенной базы данных в памяти для выполнения работы, а затем отбросил все это.

Я имел в виду приложение командной строки, работающее так:

  1. Создать новую базу данных в HSQLDB.
  2. Запустите три HTTP GET в трех потоки, использующие Apache HttpClient.
  3. Импорт CSV-файлов в три HSQLDB Таблицы ПАМЯТИ.
  4. Запустите SQL.
  5. Разобрать результаты в моем существующем. DTOS.
  6. Etc ...

Я мог бы использовать указатели для кода и утилиты, полезные для пунктов 1 и 3. Также есть ли альтернатива HSQLDB, которую я должен рассмотреть?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Используемое приложение командной строки - утилита SqlTool, поставляемая с HSQLDB. Ваша процедура может быть завершена следующим образом:

  1. Создайте новую базу данных HSQLDB в памяти (просто подключитесь к базе данных в памяти).
  2. Запустите три HTTP GET, используя Apache HttpClient для получения файлов CSV.
  3. Создайте три таблицы HSQLDB TEXT и установите для ИСТОЧНИКА этих таблиц значения CSV
  4. Запустите немного SQL. Разобрать результаты в ваших существующих DTO.

Создание таблиц TEXT в чистых таблицах в памяти было невозможно при задании вопроса. Теперь он полностью поддерживается в версиях HSQLDB 2.x.

0 голосов
/ 20 декабря 2008

Проверка opencvs . Это поможет вам разобрать файлы CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...