메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


1. 테스트용 triple rdf 파일인 test.ttl파일을 준비한다.
2. HDFS에 저장한다 : hadoop fs -put test.ttl
3. spark-submit을 이용하여 Spark Application을 실행한다.
 : $HOME/spark/bin/spark-submit --master spark://sda1:7077,sda2:7077 --deploy-mode client --class ElephasTestBySpark --jars icbms-assembly-2.0.jar icbms-assembly-2.0.jar test.ttl



---------build.sbt(일부분) -----------
 //elephas
    ("org.apache.jena" % "jena-elephas-common" % "3.1.0"),
    ("org.apache.jena" % "jena-elephas-io" % "3.1.0"),
    ("org.apache.jena" % "jena-elephas-mapreduce" % "3.1.0"),
    
    // hadoop
    ("org.apache.hadoop" % "hadoop-common" % "2.7.2" % "provided"),    
    ("org.apache.hadoop" % "hadoop-mapreduce-client-common" % "2.7.2" % "provided")

-------------------------ElephasTestBySpark.scala---------------------
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.jena.hadoop.rdf.io.input.TriplesInputFormat
import org.apache.hadoop.io.LongWritable
import org.apache.jena.hadoop.rdf.types.TripleWritable
import org.apache.hadoop.conf.Configuration 

object ElephasTestBySpark{

  def main(args: Array[String]) = {

    val conf = new SparkConf()
      .setAppName("ElephasTestBySpark")

    val sc = new SparkContext(conf)

    val hadoopConf = new Configuration()

    val rdfTriples = sc.newAPIHadoopFile(args(0).toString(),
        classOf[TriplesInputFormat],
        classOf[LongWritable],
        classOf[TripleWritable],
        hadoopConf)

    System.out.println("take 10 start-------------------");
    rdfTriples.take(10).foreach(println)
    System.out.println("take 10 end-------------------");
    
    System.out.println("countByKey start-------------------");
    rdfTriples.countByKey().foreach(println)
    System.out.println("countByKey end-------------------");

  }

}
번호 제목 글쓴이 날짜 조회 수
13 fuseki에서 제공하는 script중 s-post를 사용하는 예문 총관리자 2017.09.15 34
12 jena/fuseki 3.4.0 설치 총관리자 2017.07.25 170
11 fuseki용 config-examples.ttl 예시 내용 총관리자 2017.05.17 646
10 fuseki webUI를 통해서 전체 카운트를 하면 급격하게 메모리를 소모해 버리는 문제가 있음 file 총관리자 2017.04.28 162
9 update를 많이 하면 heap memory가 많이 소진되고 최종적으로 OOM가 발생하는데 이에 대한 설명 총관리자 2017.04.10 717
8 fuseki가 제공하는 web ui를 통해서 dataset를 remove->create할 경우 동일한 동일한 이름으로 지정했을때 fuseki-server.jar가 뜨지 않는 현상 총관리자 2017.02.03 54
7 jena의 data폴더를 hadoop nfs를 이용하여 HDFS상의 폴더에 마운트 시키고 fuseki를 통하여 inert를 시도했을때 transaction 오류 발생 총관리자 2016.12.02 82
6 Jena 2.3를 Hadoop 2.7.2의 NFS로 mount하고 fuseki를 이용하여 start할때 오류 메세지 총관리자 2016.12.02 1557
5 동시에 많은 요청이 endpoint로 몰려서java.net.NoRouteToHostException가 발생하는 경우의 처리방법 총관리자 2016.10.17 508
4 jena jar파일실행시 org.apache.jena.tdb.TDB.init에서 java.lang.NullPointerException발생시 조치사항 총관리자 2016.08.19 134
3 Jena는 기본적으로 multi thread환경을 지원하지 않는다. 총관리자 2016.08.16 94
» [Elephas] Jena Elephas를 이용하여 Spark에서 rdfTriples의 RDD를 만들고 RDD관련 작업하는 샘플소스 총관리자 2016.08.10 90
1 select와 group by결과 값이 없는경우의 리턴 값이 다름 file 총관리자 2016.02.05 119

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로