HADOOP プロシジャ

例2: ワイルドカード文字を使用したHDFSコマンドのサブミット

要素:

SAS_HADOOP_CONFIG_PATH環境変数

SAS_HADOOP_JAR_PATH環境変数

SAS_HADOOP_RESTFUL環境変数

PROC HADOOPステートメント

HDFSステートメント

ワイルドカード文字

OPTIONSステートメント

SETシステムオプション

詳細

このPROC HADOOPの例では、HDFSコマンドをHadoopサーバーにサブミットします。ステートメントによって、指定されたファイルのコンテンツが表示され、1つのHDFSファイルに対する権限が変更され、指定されたHDFSパス名にあるファイルがリストされます。

プログラム

options set=SAS_HADOOP_CONFIG_PATH="pathname";
options set=SAS_HADOOP_JAR_PATH="pathname";
options set=SAS_HADOOP_RESTFUL 1;
proc hadoop username='sasabc' password='sasabc' verbose;
   hdfs cat='/user/sasabc/*';
   hdfs chmod='/user/sasabc/' permission=rwxr-xr-x;
   hdfs ls='/user/sasabc/*';
run;

プログラムの説明

SAS_HADOOP_CONFIG_PATH環境変数、SAS_HADOOP_JAR_PATH環境変数、およびSAS_HADOOP_RESTFUL環境変数を定義します。OPTIONSステートメントには、環境変数を定義するためのSETシステムオプションが含まれています。最初の2つの環境変数によってHadoopクラスター構成ファイルとHadoop JARファイルの場所が設定されるため、SASセッションで必要なファイルを使用できるようになります。SAS_HADOOP_RESTFUL環境変数は、WebHDFS REST APIを使用してHadoopサーバーに接続することを指定します。
options set=SAS_HADOOP_CONFIG_PATH="pathname";
options set=SAS_HADOOP_JAR_PATH="pathname";
options set=SAS_HADOOP_RESTFUL 1;
PROC HADOOPステートメントを抽出します。PROC HADOOPステートメントは、Hadoopサーバー上のユーザーIDとパスワードを識別することにより、Hadoopサーバーへのアクセスを制御します。このステートメントは、SASログへの追加メッセージの書き込みを可能にするVERBOSEオプションを指定します。
proc hadoop username='sasabc' password='sasabc' verbose;
HDFSファイルのコンテンツを表示します。最初のHDFSステートメントで、HDFSファイルのコンテンツを表示するCAT=オプションを指定します。ワイルドカード文字*は、1つ以上の文字がマッチされるように指定します。ディレクトリ/user/sasabc/に含まれているすべてのファイルがSASログに表示されます。
   hdfs cat='/user/sasabc/*';
ファイルアクセス権限を変更します。2番目のHDFSステートメントで、指定されたHDFSパス名に対するファイルアクセス権限を変更するCHMOD=オプションを指定します。ファイルアクセス権限により、所有者に読み取り、書き込み、および実行権限が付与され、グループメンバーに読み取りおよび実行権限が付与され、ユーザーに読み取りおよび実行権限が付与されます。
   hdfs chmod='/user/sasabc/' permission=rwxr-xr-x;
HDFSパス名にあるファイルをリストします。3番目のHDFSステートメントで、指定されたHDFSパス名にあるファイルをSASログにリストするLS=オプションを指定します。ワイルドカード文字*は、1つ以上の文字がマッチされるように指定します。ディレクトリ/user/sasabc/に含まれているすべてのファイルがSASログに表示されます。各ファイルの出力はその権限、ユーザーID、ユーザーIDグループ、ファイルサイズ、作成日、作成時刻、ファイル名で構成されます。
   hdfs ls='/user/sasabc/*';
run;
最終更新: 2026年9月18日