HDFS上のテキストファイルにアクセスしたい

[OS] ALL
[リリース] 9.3, 9.4
[キーワード] FILENAME HADOOP

[質問]

DATAステップでHDFS(Hadoop Distributed File System)上のテキストファイルを直接読み書きすることは可能でしょうか。

[回答]

FILENAME HADOOPステートメントを使用することにより可能です。

例)

FILENAME cfg "hadoop.cfg";
DATA _NULL_;
   FILE cfg;
   INPUT;
   PUT _infile_;
DATALINES4;
<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:8020</value>
   </property>
   <property>
      <name>mapred.job.tracker</name>
      <value>hdfs://localhost:8021</value>
   </property>
</configuration>
;;;;

FILENAME foo HADOOP "/user/XXXXX/test.csv"
   CFG=cfg USER='XXXXX' PASS='XXXXX' RECFM=V;

DATA _NULL_;
   INFILE foo TRUNCOVER DLM=',';
   INPUT  c1 c2 :$5. c3 :$50.;
   PUT c1= c2= c3=;
RUN;

FILENAME HADOOP ステートメントの詳細については下記資料をご参照ください。

"Installation Note 48767: Installation and configuration requirements for the HADOOP procedure and the FILENAME HADOOP engine"
http://support.sas.com/kb/48/767.html

"FILENAME Statement, Hadoop Access Method"
http://support.sas.com/documentation/cdl/en/lestmtsref/67175/HTML/default/viewer.htm#p0we15v9bcy9qon1a14alwu1hdlh.htm

「SAS 9.4ステートメントリファレンス」第2章 SASステートメントのディクショナリ、FILENAMEステートメント, Hadoopアクセス方式
http://www.sas.com/offices/asiapacific/japan/tools/download.html?url=/offices/asiapacific/japan/service/help/pdf/v94/lestmtsref.pdf