Skip to content

Commit 615b133

Browse files
author
bolei
committed
change files
1 parent 35b4959 commit 615b133

23 files changed

+1074
-122
lines changed

.sconsign.dblite

1.3 KB
Binary file not shown.

SConstruct

Lines changed: 29 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ if scala_home == None:
3939
sys.exit()
4040

4141
# starting to build spark project
42-
spark_process = subprocess.Popen('sbt/sbt package', shell = True, executable = "/bin/bash")
42+
spark_process = subprocess.Popen('sbt/sbt assembly', shell = True, executable = "/bin/bash")
4343
spark_process.wait()
4444

4545
if spark_process.returncode != 0:
46-
print "Buil spark error ! \n"
46+
print "Build spark error ! \n"
4747
sys.exit()
4848

4949
#decompress spark jar
50-
if os.path.exists(home + '/.class'):
51-
command = 'cd ' + home + '/.class && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
50+
if os.path.exists(home + '/.classes'):
51+
command = 'cd ' + home + '/.classes && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
5252
else:
53-
command = 'mkdir ' + home + '/.class && cd ' + home + '/.class && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
53+
command = 'mkdir ' + home + '/.classes && cd ' + home + '/.classes && jar -xf ' + current + '/core/target/spark*.jar && cd ' + current
5454

5555
spark_process = subprocess.Popen(command , shell = True, executable = "/bin/bash")
5656
spark_process.wait()
@@ -60,55 +60,45 @@ os.environ['SPARK_CLASS_PATH'] = home + '/.class'
6060

6161
env = env.Append(CPPPATH = [java_home + '/include',
6262
java_home + '/include/linux',
63-
java_home + '/jre/lib/amd64/server'])
63+
java_home + '/jre/lib/amd64/server',
64+
current + '/c++/'],
65+
LIBS = ['jvm', 'pthread'],
66+
LIBPATH = [java_home + '/jre/lib/amd64/server'])
6467

65-
sources = Glob('*.c*')
66-
spark_jni_so = env.SharedLibrary('#c++/spark/jni/spark_jni',
67-
sources,
68-
LIBS = 'jvm',
69-
srcdir = '#c++/spark/jni')
68+
print 'starting to compile c++ API code ....'
7069

71-
spark_api_so = env.SharedLibrary('#c++/spark/spark_api',
72-
sources,
73-
LIBS = 'jvm',
74-
srcdir = '#c++/spark/')
70+
jni_sources = Glob('#c++/spark/jni/*.c*')
7571

76-
header_files = Glob('#c++/spark/*.h*')
72+
spark_jni_obj = Object(jni_sources, srcdir = '#c++/spark/jni')
7773

78-
env.Alias('install-lib', Install(os.path.join(prefix, "/lib"), spark_jni_so, spark_api_so))
79-
env.Alias('install-include', Install(os.path.join(prefix, "/include"), header_files))
80-
env.Alias('install', ['install-include', 'install-lib'])
74+
spark_jni_so = SharedLibrary('#c++/spark/jni/spark_jni',spark_jni_obj)
8175

82-
from SCons.Script.SConscript import SConsEnvironment
83-
SConsEnvironment.Chmod = SCons.ActionFactory(os.chmod, lambda dest, mode: 'Chmod("%s", "0%o")' % (dest, mode))
76+
api_sources = Glob('#c++/spark/*.c*')
8477

85-
def InstallPerm(env, dest, files, perm):
86-
obj = env.Install(dest, files)
87-
for i in obj:
88-
env.AddPostAction(i, env.Chmod(str(i), perm))
89-
return dest
78+
spark_api_obj = Object(api_sources, srcdir = '#c++/spark')
9079

91-
SConsEnvironment.InstallPerm = InstallPerm
92-
SConsEnvironment.InstallProgram = lambda env, dest, files: InstallPerm(env, dest, files, 0755)
93-
SConsEnvironment.InstallHeader = lambda env, dest, files: InstallPerm(env, dest, files, 0644)
80+
spark_api_so = SharedLibrary('#c++/spark/spark_api',spark_api_obj)
9481

9582
header_files = Glob('#c++/spark/*.h*')
96-
env.InstallHeader(include_dir, header_files)
9783

98-
try:
99-
umask = os.umask(022)
100-
print 'setting umask to 022 (was )%o)' % umask
101-
except:
102-
pass
84+
#Alias('install-lib', Install(os.path.join(prefix, "/lib"), spark_jni_so, spark_api_so))
85+
#Alias('install-include', Install(os.path.join(prefix, "/include"), header_files))
86+
#Alias('install', ['install-include', 'install-lib'])
87+
88+
command = 'cp c++/spark/*.h* /usr/local/include/spark'
89+
subprocess.Popen(command, shell = True, executable = "/bin/bash")
90+
command = 'cp c++/spark/jni/*.h* /usr/local/include/spark/jni'
91+
subprocess.Popen(command, shell = True, executable = "/bin/bash")
10392

93+
print 'starting to compile examples code ....'
10494
examples_dir = current + '/c++/examples'
10595

106-
env.Program('#c++/examples/wordcount',
107-
'#c++/examples/wordcount.cpp',
96+
Program('#c++/examples/wordcount',
97+
'wordcount.cpp',
10898
LIBS = ['spark_api', 'jvm'],
10999
srcdir = '#c++/examples/')
110100

111-
env.Program('#c++/examples/kmeans',
112-
'#c++/examples/kmeans.cpp',
101+
Program('#c++/examples/kmeans',
102+
'kmeans.cpp',
113103
LIBS = ['spark_api', 'jvm'],
114104
srcdir = '#c++/examples/')

c++/SConstruct

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ if scala_home == None:
3939
sys.exit()
4040

4141
# starting to build spark project
42-
spark_process = subprocess.Popen('sbt/sbt package', shell = True, executable = "/bin/bash")
42+
spark_process = subprocess.Popen('sbt/sbt assembly', shell = True, executable = "/bin/bash")
4343
spark_process.wait()
4444

4545
if spark_process.returncode != 0:
@@ -60,9 +60,14 @@ os.environ['SPARK_CLASS_PATH'] = home + '/.class'
6060

6161
env = env.Append(CPPPATH = [java_home + '/include',
6262
java_home + '/include/linux',
63-
java_home + '/jre/lib/amd64/server'])
63+
java_home + '/jre/lib/amd64/server'],
64+
LIBS = ['jvm', 'pthread'],
65+
LIBPATH = [java_home + '/jre/lib/amd64/server'])
6466

6567
sources = Golb('*.c*')
68+
69+
spark_jni_obj = env.Object(sources)
70+
6671
spark_jni_so = env.SharedLibrary('#c++/spark/jni/spark_jni',
6772
sources,
6873
LIBS = 'jvm',

c++/examples/client

88 Bytes
Binary file not shown.

c++/examples/kmeans

145 Bytes
Binary file not shown.

c++/examples/kmeans.mk

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
CXX = g++
22
CC = gcc
33

4-
INCLUDES = -I/home/software/java/jdk1.6.0_37/include \
5-
-I/home/software/java/jdk1.6.0_37/include/linux \
6-
-I/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ \
7-
-I/home/bolei/workspace/spark-0.6.0/c++/ \
8-
-I/home/bolei/workspace/spark-0.6.0/c++/spark \
9-
-I/usr/local/lib
4+
INCLUDES = -I$(JAVA_HOME)/include \
5+
-I$(JAVA_HOME)/include/linux \
6+
-I$(JAVA_HOME)/jre/lib/amd64/server/ \
7+
-I$(CURDIR) \
8+
-I/usr/local/include
109

1110
CLIBS = -lsparkAPI \
12-
-L/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ -ljvm
11+
-L$(JAVA_HOME)/jre/lib/amd64/server/ -ljvm
1312

1413
EXEC_OBJ = kmeans.o
1514

c++/examples/main.o

1.16 KB
Binary file not shown.

c++/examples/wordcount.mk

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
CXX = g++
22
CC = gcc
33

4-
INCLUDES = -I/home/software/java/jdk1.6.0_37/include \
5-
-I/home/software/java/jdk1.6.0_37/include/linux \
6-
-I/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ \
7-
-I/home/bolei/workspace/spark-0.6.0/c++ \
8-
-I/home/bolei/workspace/spark-0.6.0/c++/spark
4+
INCLUDES = -I$(JAVA_HOME)/include \
5+
-I$(JAVA_HOME)/include/linux \
6+
-I$(JAVA_HOME)/jre/lib/amd64/server/ \
7+
-I$(CURDIR) \
8+
-I/usr/local/include
99

1010
CLIBS = -L/usr/local/lib -lsparkAPI \
11-
-L/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ -ljvm
11+
-L$(JAVA_HOME)/jre/lib/amd64/server/ -ljvm
1212

1313
EXEC_OBJ = main.o
1414

c++/spark/Class.h

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,21 @@ class Class{
9090
virtual ~Class();
9191
};
9292

93+
94+
template<class T>
95+
class Partitioner : public Object {
96+
public:
97+
Partitioner(int num) : numPartitions(num) {}
98+
virtual ~Partitioner(){}
99+
100+
virtual int getPartitions(T t) = 0;
101+
virtual bool equals(T t) = 0;
102+
103+
public:
104+
int numPartitions;
105+
};
106+
107+
93108
template<class T, class R>
94109
class MapContext : public Object {
95110
public:
@@ -147,13 +162,6 @@ class Attachment {
147162
T _attach;
148163
};
149164

150-
151-
class Partitioner : public Object {
152-
public:
153-
Partitioner(){}
154-
virtual ~Partitioner(){}
155-
};
156-
157165
#endif // Class.h
158166

159167

c++/spark/Makefile

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
CXX = g++
22
CC = gcc
3-
INCLUDES = -I/home/software/java/jdk1.6.0_37/include \
4-
-I/home/software/java/jdk1.6.0_37/include/linux \
5-
-I/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ \
6-
-I/home/bolei/workspace/spark-0.6.0/c++/
73

8-
CLIBS = -L/home/software/java/jdk1.6.0_37/jre/lib/amd64/server/ -ljvm -lpthread
4+
HEADER := $(shell cd ../ && pwd)
5+
6+
INCLUDES = -I$(JAVA_HOME)/include \
7+
-I$(JAVA_HOME)/include/linux \
8+
-I$(JAVA_HOME)/jre/lib/amd64/server/ \
9+
-I${HEADER}
10+
11+
#.PHONY: print_vars
12+
13+
#print_vars:
14+
# @echo $(JAVA_HOME)
15+
# @echo ${CURDIR}
16+
# @echo $(HEADER)
17+
18+
CLIBS = -L$(JAVA_HOME)/jre/lib/amd64/server/ -ljvm -lpthread
919

1020
OBJS = convert.o \
1121
crdd.o \

0 commit comments

Comments
 (0)