Potrzebuję zastosować zapytanie SQL do plików CSV (pliki tekstowe rozdzielane przecinkami). Mój SQL jest predefiniowany z innego narzędzia i nie może się zmienić. Może zawierać osadzone selekcje i aliasy tabel w części OD.Wykonywanie SQL na plikach CSV za pośrednictwem JDBC
Dla mojego zadania Znalazłem dwa open-source (jest to wymóg projektu) biblioteki, które zapewniają JDBC sterowniki:
- CsvJdbc
- XlSQL
- JBoss Teiid
- Załóż Apache Derby DB, załaduj wszystkie pliki CSV jako tabele i wykonaj zapytanie.
Są to problemy napotkane I:
- nie akceptuje składni SQL (używa wewnętrznych wybiera i aliasy tabela). Co więcej, nie był on utrzymywany od 2004 roku.
- Nie mogłem go uruchomić, ponieważ ma on jako zależność parser SAX, który powoduje wyjątek podczas analizowania innych dokumentów. Podobnie, brak zmian od 2004.
- Nie sprawdziłem, czy obsługuje składnię, ale wydaje się, jak narzut. Wymaga zdefiniowania kilku jednostek (Virtual Databases, Bindings). Z listy mailingowej powiedzieli mi, że ostatnia wersja obsługuje tworzenie wymaganych obiektów przez środowisko wykonawcze. Czy ktokolwiek użył go do tak prostego zadania (zwykle może łączyć się z kilkoma typami danych, takimi jak CSV, XML lub inny DBS i tworzyć wirtualny, zunifikowany)?
- Czy można to łatwo zrobić?
Z 4 rzeczy, które rozważałem/wypróbowałem, tylko 3 i 4 wydają mi się opłacalne. Wszelkie porady na ten temat lub w inny sposób, w jaki mogę zapytać moje pliki CSV?
Cheers
Tak, używa podciągów i konkatenacji. –