메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 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-------------------");

  }

}
번호 제목 날짜 조회 수
78 cumulusRDF 1.0.1설치및 "KeyspaceCumulus" keyspace확인하기 file 2016.04.15 5945
77 protege 설명및 사용법 file 2017.04.04 3025
76 Jena 2.3를 Hadoop 2.7.2의 NFS로 mount하고 fuseki를 이용하여 start할때 오류 메세지 2016.12.02 1644
75 거침없이 배우는 Drools 책의 샘플소스 file 2016.07.22 1369
74 update를 많이 하면 heap memory가 많이 소진되고 최종적으로 OOM가 발생하는데 이에 대한 설명 2017.04.10 817
73 fuseki용 config-examples.ttl 예시 내용 2017.05.17 746
72 Halyard - RDF4J와 Apache HBase를 이용하여 구현된 TripleStore이며 SPARQL 1.1쿼리를 지원한다. 2016.12.29 734
71 Drools 6.0 - 비즈니스 룰 기반으로 간단한 룰 애플리케이션 만들기 file 2016.07.18 683
70 동시에 많은 요청이 endpoint로 몰려서java.net.NoRouteToHostException가 발생하는 경우의 처리방법 2016.10.17 664
69 커리 변경 이벤트를 처리하기 위한 구현클래스 2016.07.21 597
68 [oneM2M]Ontologies used for oneM2M 2017.08.02 570
67 queryTranslator실행시 NullPointerException가 발생전에 java.lang.ArrayIndexOutOfBoundsException발생시 조치사항 2016.06.16 554
66 DataSetCreator실행시 "Illegal character in fragment at index"오류가 나는 경우 조치방안 2016.06.17 553
65 halyard의 console스크립트에서 생성한 repository는 RDF4J Web Applications에서 공유가 되지 않는다. 2017.07.05 533
64 python실행시 ValueError: zero length field name in format오류 해결방법 2016.05.27 526
63 fuseki에서 제공하는 script중 s-post를 사용하는 예문 2017.09.15 516
62 DeviceType이 o:motion-sensor_33 이거나 o:motion-sensor_32 경우의 sparql문장은 다음과 같다. 2017.08.16 507
61 update(update와 delete->insert)사용시 주의/참고사항 2016.01.06 504
60 fuseki에 update하는 방법(java api이용)및 주의 사항 2015.12.30 498
59 fuseki가 제공하는 web ui를 통해서 dataset를 remove->create할 경우 동일한 동일한 이름으로 지정했을때 fuseki-server.jar가 뜨지 않는 현상 2017.02.03 495
위로