blob: 102507ee3505da0ca450379848129e81cfa827bc [file]
####################################################################
# Hama Pipes Examples README #
####################################################################
# Hama Pipes includes the following three examples: #
# - 1) Summation #
# - 2) PiEstimator #
# - 3) MatrixMultiplication #
####################################################################
To run the examples, first compile them:
% mvn install
####################################################################
# 1) Summation Example #
####################################################################
First copy summation binary to dfs
% hadoop fs -put c++/target/native/examples/summation \
/examples/bin/summation
Generate input data and copy to dfs
% echo -e "key1\t1.0\nkey2\t2.0\nkey3\t3.0\nkey4\t4.0\n\
key5\t5.0\nkey6\t6.0\nkey7\t7.0\nkey8\t8.0\nkey9\t9.0\n\
key10\t10.0" > summation.txt && hadoop fs -put summation.txt \
/examples/input/summation/input.txt && rm summation.txt
Run summation example
% hama pipes \
-conf c++/src/main/native/examples/conf/summation.xml \
-input /examples/input/summation \
-output /examples/output/summation
View input and output data
% hadoop fs -cat /examples/input/summation/input.txt
% hama seqdumper -file /examples/output/summation/part-00000
You should see
# Input Path: /examples/output/summation/part-00000
# Key class: class org.apache.hadoop.io.Text
# Value Class: class org.apache.hadoop.io.DoubleWritable
# Key: Sum: Value: 55.0
# Count: 1
Delete input and output folder
% hadoop fs -rmr /examples/input/summation
% hadoop fs -rmr /examples/output/summation
####################################################################
# 2) PiEstimator Example #
####################################################################
First copy piestimator binary to dfs
% hadoop fs -put c++/target/native/examples/piestimator \
/examples/bin/piestimator
Run piestimator example because no input data is needed
% hama pipes \
-conf c++/src/main/native/examples/conf/piestimator.xml \
-output /examples/output/piestimator
View output data
% hama seqdumper -file /examples/output/piestimator/part-00001
You should see
# Input Path: /examples/output/piestimator/part-00001
# Key class: class org.apache.hadoop.io.Text
# Value Class: class org.apache.hadoop.io.DoubleWritable
# Key: Estimated value of PI: Value: 3.139116
# Count: 1
Delete output folder
% hadoop fs -rmr /examples/output/piestimator
####################################################################
# 3) MatrixMultiplication Example #
####################################################################
First copy matrixmultiplication binary to dfs
% hadoop fs -put c++/target/native/examples/matrixmultiplication \
/examples/bin/matrixmultiplication
Generate input data
% hama jar dist/target/hama-*/hama-*/hama-examples-*.jar \
gen vectorwritablematrix 4 4 \
/examples/input/matrixmultiplication/MatrixA.seq \
false true 0 10 0
% hama jar dist/target/hama-*/hama-*/hama-examples-*.jar \
gen vectorwritablematrix 4 4 \
/examples/input/matrixmultiplication/MatrixB_transposed.seq \
false true 0 10 0
Run matrixmultiplication example
% hama pipes \
-conf c++/src/main/native/examples/conf/matrixmultiplication.xml \
-output /examples/output/matrixmultiplication
View input and output data
% hama seqdumper \
-file /examples/input/matrixmultiplication/MatrixA.seq
% hama seqdumper \
-file \
/examples/input/matrixmultiplication/MatrixB_transposed.seq
% hama seqdumper \
-file /examples/output/matrixmultiplication/part-00001
Delete output folder
% hadoop fs -rmr /examples/output/matrixmultiplication
####################################################################