Загрузчик SQL - несколько файлов с записью с разделителем каналов - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть папка с более чем 400 тыс. Текстовых файлов.

С такими именами, как

deID.RESUL_12433287659.txt_234323456.txt
deID.RESUL_34534563649.txt_345353567.txt
deID.RESUL_44235345636.txt_537967875.txt
deID.RESUL_35234663456.txt_423452545.txt

Каждый файл имеет содержимое вроде:

|678976|TEST|TBDKK|7865679809
1|678977|TE1T|TB5KK|7866709
|678978|TE2T|TB4KK|78669809
4|678979|TE3T|T3DKK|785679809

Я создаюфайл всех имен файлов, используя: ls -1 * .txt> file_list.txt

Я использую следующий управляющий файл:

LOAD DATA
INFILE file_list.txt
INSERT INTO TABLE TBL_DATA
APPEND
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
    file_name          char(4000)
  , file_content                   LOBFILE(file_name) TERMINATED BY EOF
)

Вместо того, чтобы помещать в него весь file_content, Я хочу, чтобы структура была что-то вроде:

file_name                                  id  number   name  address  phone
deID.RESUL_12433287659.txt_234323456.txt       678976   TEST  TBDKK    7865679809
deID.RESUL_34534563649.txt_345353567.txt     1 678977   TE1T  TB5KK    7866709
deID.RESUL_44235345636.txt_537967875.txt       678978   TE2T  TB4KK    78669809
deID.RESUL_35234663456.txt_423452545.txt     4 678979   TE3T  T3DKK    785679809

Есть ли в любом случае я могу прочитать содержимое файла, разделить его по разделителю канала и импортировать с помощью загрузчика SQL?

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