2010年11月5日金曜日

groovyとhadoopでHDFS上のパスのオーナー/グループを取得する

groovyとhadoopでHDFS上のパスのオーナー/グループを取得するには、以下のコードを実行します。

import org.apache.hadoop.conf.*
import org.apache.hadoop.fs.*

fs = FileSystem.get(
URI.create("hdfs://192.168.1.81:9000/"),
new Configuration())

files = fs.listStatus(new Path("/tmp"))
for( file in files ){
print "${file.path}"
print ":owner=${file.getOwner()}"
println ",group=${file.getGroup()}"
}

※以下のjarを$GROOVY_HOME/libにコピー
hadoop-common-0.21.0.jar
hadoop-hdfs-0.21.0.jar
log4j-1.2.15.jar

動作環境
groovy 1.7.5, JDK6 Update22, Hadoop 0.21.0

関連情報
CentOS5.5にHadoop0.21.0をインストールする
http://serverarekore.blogspot.com/2010/10/centos55hadoop0210.html

0 件のコメント:

コメントを投稿