ラベル hadoop の投稿を表示しています。 すべての投稿を表示
ラベル hadoop の投稿を表示しています。 すべての投稿を表示

2010年11月19日金曜日

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(), "hadoop")

fs.rename(
new Path("/tmp/test.txt"),
new Path("/tmp/renamed.txt")
)

※以下の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

2010年11月18日木曜日

groovyとhadoopでFSDataInputStreamを使用してHDFS上からファイルをダウンロードする

groovyとhadoopでFSDataInputStreamを使用してHDFS上からファイルをダウンロードするには、以下のコードを実行します。

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

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

src = "/tmp/SF.JPG"
dst = "downloaded_SF.JPG"

FSDataInputStream fis = fs.open(new Path(src))
fos = new FileOutputStream(dst)

buf = new byte[8192]
try
{
while( (rs = fis.read(buf)) != -1 ){
fos.write(buf, 0, rs)
}
}
finally
{
if( fos != null )fos.close()
if( fis != null )fis.close()
}

※以下の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

2010年11月17日水曜日

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(), "hadoop")

fs.mkdirs(new Path("/tmp/sample"))

※以下の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

2010年11月16日火曜日

groovyとhadoopでデフォルト・ブロック・サイズを取得する

groovyとhadoopでデフォルト・ブロック・サイズを取得するには、以下のコードを実行します。

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

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

println "default block size:${fs.getDefaultBlockSize()/1024}(K)"

※以下の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

2010年11月15日月曜日

groovyとhadoopでリード・ライトのバイト数を取得する

groovyとhadoopでリード・ライトのバイト数を取得するには、以下のコードを実行します。

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

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

fs.copyFromLocalFile(
// src
new Path("hadoop1.groovy"),
// destination
new Path("/tmp")
)

stats = fs.getAllStatistics()
for( stat in stats ){
println "scheme:${stat.getScheme()}"
println "bytes read:${stat.getBytesRead()}"
println "bytes written:${stat.getBytesWritten()}"
println "---"
}

※以下の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

2010年11月14日日曜日

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(), "hadoop")

if( fs.exists(new Path("/tmp/notexist.txt")) ){
println "存在する"
} else {
println "存在しません"
}

※以下の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

2010年11月13日土曜日

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(), "hadoop")

fs.delete(new Path("/tmp/hadoop1.groovy"), true)

※以下の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

2010年11月12日金曜日

groovyとhadoopでFSDataOutputStreamを使用してHDFS上にファイルを作成する

groovyとhadoopでFSDataOutputStreamを使用してHDFS上にファイルを作成するには、以下のコードを実行します。

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

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

src = "SF.JPG"
dst = "/tmp/SF.JPG"

fis = new FileInputStream(src)
fos = fs.create(new Path(dst))

buf = new byte[8192]
try
{
while( (rs = fis.read(buf)) != -1 ){
fos.write(buf, 0, rs)
}
}
finally
{
if( fos != null )fos.close()
if( fis != null )fis.close()
}

※以下の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

2010年11月11日木曜日

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(), "hadoop")

fs.copyFromLocalFile(
// src
new Path("hadoop1.groovy"),
// destination
new Path("/tmp")
)

※以下の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

2010年11月10日水曜日

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}"
dt = new Date(file.getModificationTime())
println ":modification time=${dt}"
}

※以下の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

2010年11月9日火曜日

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}"
println ":length=${file.getLen()}"
}

※以下の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

2010年11月8日月曜日

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}"
println ":block size=${file.getBlockSize()/1024}(K)"
}

※以下の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

2010年11月7日日曜日

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}"
dt = new Date(file.getAccessTime())
println ":access time=${dt}"
}

※以下の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

2010年11月6日土曜日

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}"
println ":permission=${file.getPermission().toString()}"
}

※以下の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

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

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

2010年10月30日土曜日

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 ){
println file.getPath()
}



※Grabを使用しない場合は以下のjarを$GROOVY_HOME/libにコピー
hadoop-common-0.21.0.jar
hadoop-hdfs-0.21.0.jar
log4j-1.2.15.jar

2014/09/14追記:
Grabを使用する場合は、以下のように記述します。
@Grab(group='org.apache.hadoop', module='hadoop-common', version='2.5.0')
@Grab(group='org.apache.hadoop', module='hadoop-hdfs', version='2.5.0')

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

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

files = fs.listStatus(new Path("/tmp"))
for( file in files ){
  println file.getPath()
}

動作環境
groovy 1.7.5, JDK6 Update22, Hadoop 0.21.0
groovy 2.3.6, JDK 7 Update 65, Hadoop 2.5.0

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