참조: http://www.abcn.net/2014/07/lighting-spark-with-hbase-full-edition.html
Spark의 공식 예제 의 경우 빌드를 Maven으로 하기 때문에 SBT로 이용하기 위해 검색하던 중 의존성에 대한 문제가 생겼다. 여러 가지의 문서중에서 Spark의 예제 중 HBaseTest.scala 파일의 컴파일 하기 위한 의존성은 윗 링크와 같았다:
libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.10" % "1.0.1", "org.apache.hbase" % "hbase" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-client" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-common" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-server" % "0.98.2-hadoop2" )
이 중 Spark만 최신 저장소인 "org.apache.spark" %% "spark-core" % "1.5.1" 로 사용하였다.
그 외에 spark을 실행하기 위해 driver-class-path로는 hbase-* 로 시작하는 lib만 제공할 때에는 google 쪽 library에서 문제가 나 현재는 모든 library 파일들을 같이 전송하는 형식으로 테스트 해보고 있다.
name := "HBase Test"
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.5.1",
"org.apache.hadoop" % "hadoop-common" % "2.6.0",
"org.apache.hadoop" % "hadoop-client" % "2.6.0",
"org.apache.hbase" % "hbase" % "1.1.2",
"org.apache.hbase" % "hbase-client" % "1.1.2",
"org.apache.hbase" % "hbase-common" % "1.1.2",
"org.apache.hbase" % "hbase-server" % "1.1.2"
)
+) 현재는 scala compiler만을 이용해서 컴파일 하고 있다. 이 때 사용한 command는 다음과 같다:
scalac -bootclasspath /home/tkyoo/spark/lib/spark-assembly-1.5.1-hadoop2.6.0.jar:/home/tkyoo/hbase/lib/hbase-client-1.1.2.jar:/home/tkyoo/hbase/lib/hbase-hadoop2-compat-1.1.2.jar:/home/tkyoo/hbase/lib/hbase-common-1.1.2.jar:/home/hadoop/tkyoo/lib/hbase-hadoop-compat-1.1.2.jar:/home/tkyoo/hbase/lib/hadoop-common-2.5.1.jar:/home/tkyoo/hbase/lib/hadoop-mapreduce-client-common-2.5.1.jar:/home/tkyoo/hbase/lib/hadoop-mapreduce-client-core-2.5.1.jar:/home/tkyoo/hbase/lib/hbase-protocol-1.1.2.jar:/home/tkyoo/hbase/lib/hbase-annotations-1.1.2.jar
library 이름들만 적으면 이렇다.
1. spark-assembly-1.5.1-hadoop2.6.0.jar
2. hbase-client-1.1.2.jar
3. hbase-hadoop2-compat-1.1.2.jar
4. hbase-common-1.1.2.jar
5. hbase-hadoop-compat-1.1.2.jar
6. hadoop-common-2.5.1.jar
7. hadoop-mapreduce-client-common-2.5.1.jar
8. hadoop-mapreduce-client-core-2.5.1.jar
9. hbase-protocol-1.1.2.jar
10. hbase-annotations-1.1.2.jar
추린다고 추리긴 했는데 실제로 사용되지 않는 library가 존재할 수 도 있다.
'Programming > Java' 카테고리의 다른 글
SparkSQL on HBase - hbase.column.mapping에 사용가능한 타입 (0) | 2015.11.25 |
---|---|
SparkSQL on HBase 사용방법 (0) | 2015.11.23 |
Java ByteBuffer Slice, Position, Array, ArrayOffset (0) | 2015.07.03 |
Java ByteBuffer to Hex (0) | 2015.07.03 |
Java ByteBuffer에 스스로 Memcpy 하기 (0) | 2015.07.02 |