2017-11-03 17 views
0

巨大な100GBのデータをインポートしようとしていますが、スペースが利用できないなどのエラーが発生してしまいます。私のPC上の一時的なスペース?SASは指定された場所以外の場所にインポート中に一時ファイルを作成しますか

マイライブラリ参照はサーバーに対するものです。

+0

100GBのデータはどこから来ますか?あなたのサーバ上でインポートするSASワークやライブラリに100GBのストレージがない可能性はありますか? – user2877959

+0

100GBのデータはサーバーに保存されているtxtファイルで、サーバーには空き容量がありますが、SASワークは –

+0

ではありません。ループを使用してデータを1行ずつ増分(N行)にインポートし、データを格納するストレージ領域を持つライブラリの結果に毎回追加することで、回避することができます。 – user2877959

答えて

0

これはサーバーの設定によって異なります。

あなたは、このように見、最初のチェック性能を持つ:

のprocオプショングループ=パフォーマンス。 実行; [SAS CONFIG] /Lev1/SASApp/sasv9_usermods.cfg [SASホーム] /SASFoundation/9.3/sasv9_local.cfg

あなた:あなたはたとえば見つける必要がある設定ファイルで

その後、

-bufsize 64K 

ソース:http://documentation.sas.com/?docsetId=bisag&docsetTarget=p1n3ivrea2b8fgn1at5j88gyteqj.htm&docsetVersion=9.4&locale=en

ようなオプションを微調整する必要があり210

私はそれは超簡単だバッファを大きくすると、Linuxでビットを助け、私はあなたがいくつかのファイルにファイルを分割することをお勧めすることができます推測:

split --bytes=1000M /path/to/file.csv /path/to/csv/filesplit_ 

そしてあなたは、マクロ機能で汎用的なインポートを作成することができますし、

%import(filesplit_1); 
%import(filesplit_2); 
%import(filesplit_3); 
%import(filesplit_4); 
.. 

各インポート後、oracleのようなDBMSシステムにデータを挿入できます。 proc sqlパススルーを使用して挿入するときに、BULKLOADオプションを使用することを忘れないでください。

0

あなたが読んでいるテキストファイルについて話している場合は、スペースがある場所に直接書き込んでください。

filename in '/location1/bigfile.csv'; 
libname out '/location2/mysasdata'; 
data out.bigfile ; 
    infile in dsd firstobs=2 truncover ; 
    length var1 8 var2 $100 ..... ; 
    input var1 var2 .... ; 
run; 
関連する問題