Используйте SAS для импорта файла CSV с 3070 полями - PullRequest
0 голосов
/ 27 июня 2011

Я использую AIX 5.3 и SAS 9.1.3

У меня есть файл 2.7G CSV.
Файл содержит около 110 тыс. Строк.
Каждая строка содержит 3070 полей.

Я использую имя файла myCSVfile LRECL = 32768;
Затем я использую Proc import ... delimiter = "," ...

Программа SAS, кажется, зависает.
Он все еще там, даже после 1 часа работы.

Я возглавляю файл, чтобы в нем было только 40 строк, и пытаюсь снова.
На этот раз, кажется, тоже зависает.
Также все еще там после работы 1 час.
НЕТ улучшения с этим небольшим файлом.

Файл журнала имеет размер 0 байт.
Кроме того, когда я ps -ef, процесс потребляет 10% ЦП.
Наконец-то я должен убить его, прежде чем покинуть офис.

Любой намек на решение этой проблемы?

Элвин Сиу

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

Вам нужно использовать proc import?Это может работать лучше:

data tmp;
  infile './your_data_file' dlm=',' lrecl=as_big_as_you_need;
  input var1 var2 ...;
run;

Выполнение этого способа также позволит вам проверить, какие ошибки возникают в файле журнала по мере их возникновения.

0 голосов
/ 28 июня 2011

Также попробуйте добавить параметр truncover? Убедитесь, что нет строк> 32767 символов, так как это вызовет проблемы. Сделайте эту проверку с помощью внешней программы (т.е. не SAS).

Приветствие Rob

...