2010年11月4日木曜日

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 ":dir?=${file.isDirectory()}"
println ",file?=${file.isFile()}"
}


※以下の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 件のコメント:

コメントを投稿