SQL загрузчик требует файл DAT для загрузки данных - PullRequest
0 голосов
/ 27 августа 2018

У меня есть папка с несколькими файлами, но они не являются .dat. К моему удивлению, я мог загрузить один файл, но только когда я переименовал в .dat. Что я делаю неправильно или мне нужно переименовать все мои файлы в .dat? Мои файлы не имеют расширений

Спасибо, ребята

CONTROLFILE

load data 
infile 'D:\pageviews\year=2016\month=06\*' 
replace
into table test
fields terminated by whitespace
trailing nullcols
(
c1,
c2,
c3,
c4
)

1 Ответ

0 голосов
/ 28 августа 2018

Насколько я могу судить, INFILE предложение, которое вы используете, неверно.

Вы должны назвать файл, который вы загружаете. Звездочка используется, когда данные (которые вы собираетесь загрузить) содержатся в самом управляющем файле (после ключевого слова BEGINDATA).

Если вы не укажете расширение файла, то по умолчанию оно будет равно .dat (поэтому вам удалось загрузить файл).

Возможные случаи (скопировано из документации ):

  • Данные, содержащиеся в самом контрольном файле: INFILE *
  • Данные, содержащиеся в файле с именем foo, с расширением по умолчанию .dat: INFILE foo
  • Данные, содержащиеся в файле с именем datafile.dat с указанием полного пути: INFILE 'c:/topdir/subdir/datafile.dat'

читать документацию; будет намного яснее, что делать (не).

...