메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


* sprue는 Apache Spark와 Drools를 이용한 CEP구현한 예제 소스이다.

(참고 : https://github.com/mganta/sprue)


<<준비/설정>>

1. hbase에 테이블 생성

create 'patientData', {NAME => 'cf1', VERSIONS => 3, REPLICATION_SCOPE => 1, COMPRESSION => 'SNAPPY'}

==> hbase 버전에 따라서 아래의 오류가 발생할 수 있는데 그때는  COMPRESSION => 'SNAPPY'부분을 빼고 실행한다.


* 다음의 사이트에서 로직을 테스트 할 수 있다.

   : http://www.mdcalc.com/sirs-sepsis-and-septic-shock-criteria/


2. drools가 사용하는 의사결정테이블 파일은 src/main/resources/sepsis.xls를 사용한다.


3. driver program은 3개의 인자를 받는다.


    a. zookeeper info

    b. rules xls file

    c. open tsdb url

   

    - opentsdb이 설치되지 않았으면 SepsisStream.scala파일의 94(97 ?)라인을 주석처리한다.

    - HBase가 설정되지 않았다면 69 & 80(73 & 84 ?) 라인을 주석처리한다.

    - local mode로 실행할 경우는 SepsisStream.scala파일의 40 & 41의 주석을 바꾼다.


4. 이 프로그램은 queueRDD를 이용하여 sample data를 생성한다.



<<컴파일/실행하기>>


1. mvn clean package


//2. Create the hbase table. Sample script in src/main/resource/create_hbase_table.rb


//3. Install opentsdb (http://opentsdb.net/docs/build/html/installation.html)


4. Start spark streaming using


   spark-submit --driver-java-options 

       '-Dspark.executor.extraClassPath=/opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.1.0-incubating.jar' 

--master yarn-client 

--files sepsis.xls 

--class com.cloudera.sprue.SepsisStream 

/path_to/sprue-0.0.1-SNAPSHOT-jar-with-dependencies.jar 

sepsis.xls zookeeper.host.domain:2181 

http://opentsdb.host.domain:4242/api/put


 * spark.executor.extraClassPath옵션은 spark에서 실행되는 hbase의 설치위치의 lib에 있는 htrace-core-3.1.0-incubating.jar를 지정한다.


 * files옵션은 spark executor들이 사용하는 xls파일을 업로드 한다.


-------------------오류내용------------------------

ERROR: org.apache.hadoop.hbase.DoNotRetryIOException: Compression algorithm 'snappy' previously failed test. Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks

        at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:1603)

        at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1542)

        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1452)

        at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:429)

        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:52195)

        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2117)

        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)

        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)

        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)

        at java.lang.Thread.run(Thread.java:745)

Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: Compression algorithm 'snappy' previously failed test.

        at org.apache.hadoop.hbase.util.CompressionTest.testCompression(CompressionTest.java:91)

        at org.apache.hadoop.hbase.master.HMaster.checkCompression(HMaster.java:1686)

        at org.apache.hadoop.hbase.master.HMaster.checkCompression(HMaster.java:1679)

        at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1540)

        ... 8 more

번호 제목 날짜 조회 수
41 spark 온라인 책자링크 (제목 : mastering-apache-spark) 2016.05.25 165
40 파일끝에 붙는 ^M 일괄 지우기(linux, unix(AIX)) 혹은 파일내에 있는 ^M지우기 2016.09.24 168
39 spark에서 hive table을 읽어 출력하는 예제 소스 2017.03.09 179
38 참고할만한 spark예제를 설명하는 사이트 2016.11.11 185
37 JavaStreamingContext를 이용하여 스트림으로 들어오는 문자열 카운트 소스 2017.03.30 210
36 How-to: Tune Your Apache Spark Jobs (Part 2) file 2016.10.31 221
35 ./spark-sql 실행시 "java.lang.NumberFormatException: For input string: "1s"오류발생시 조치사항 2016.06.09 226
34 Spark Streaming으로 유실 없는 스트림 처리 인프라 구축하기 2016.03.11 262
33 spark 2.0.0의 api를 이용하는 예제 프로그램 2017.03.15 274
32 spark2.0.0에서 hive 2.0.1 table을 읽어 출력하는 예제 소스(HiveContext, SparkSession, SQLContext) 2017.03.09 283
31 scala application 샘플소스(SparkSession이용) 2018.03.07 296
30 spark-sql실행시 ERROR log: Got exception: java.lang.NumberFormatException For input string: "2000ms" 오류발생시 조치사항 2016.06.09 299
29 spark 2.0.0를 windows에서 실행시 로컬 파일을 읽을때 발생하는 오류 해결 방법 2017.01.12 311
28 start-all.sh로 spark데몬 기동시 "JAVA_HOME is not set"오류 발생시 조치사항 2016.08.01 317
27 Could not compute split, block input-0-1517397051800 not found형태의 오류가 발생시 조치방법 2018.02.01 333
26 spark-submit으로 spark application실행하는 다양한 방법 2016.05.25 387
25 Spark에서 KafkaUtils.createStream()를 이용하여 이용하여 kafka topic에 접근하여 객채로 저장된 값을 가져오고 처리하는 예제 소스 2017.04.26 393
24 spark notebook 0.7.0설치및 설정 2016.11.14 464
23 Scala를 이용한 Streaming예제 2018.03.08 501
22 Scala버젼 변경 혹은 상황에 맞게 Spark소스 컴파일하기 2016.05.31 504
위로