[spark] AWS-EMR에서 스파크와 카프카 연동에서 발생한 Caused by: java.lang.ClassNotFoundException: kafka.DefaultSource 오류 해결 방법

2019. 10. 14. 15:19·빅데이터/spark

AWS EMR에서 스파크와 카프카를 연동할 때 EMR은 카프카 라이브러리를 기본적으로 제공하지 않기 때문에 다음과 같은 오류가 발생합니다.

scala> val df = spark.readStream.format("kafka").option("kafka.bootstrap.servers","localhost:9092").option("subscribe","test").load()
java.lang.ClassNotFoundException: Failed to find data source: kafka. Please find packages at https://cwiki.apache.org/confluence/display/SPARK/Third+Party+Projects
  at org.apache.spark.sql.execution.datasources.DataSource.lookupDataSource(DataSource.scala:148)
  at org.apache.spark.sql.execution.datasources.DataSource.providingClass$lzycompute(DataSource.scala:79)
  at org.apache.spark.sql.execution.datasources.DataSource.providingClass(DataSource.scala:79)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceSchema(DataSource.scala:218)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceInfo$lzycompute(DataSource.scala:80)
  at org.apache.spark.sql.execution.datasources.DataSource.sourceInfo(DataSource.scala:80)
  at org.apache.spark.sql.execution.streaming.StreamingRelation$.apply(StreamingRelation.scala:30)
  at org.apache.spark.sql.streaming.DataStreamReader.load(DataStreamReader.scala:124)
  ... 48 elided
Caused by: java.lang.ClassNotFoundException: kafka.DefaultSource
  at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$5$$anonfun$apply$1.apply(DataSource.scala:132)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$5$$anonfun$apply$1.apply(DataSource.scala:132)
  at scala.util.Try$.apply(Try.scala:192)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$5.apply(DataSource.scala:132)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$5.apply(DataSource.scala:132)
  at scala.util.Try.orElse(Try.scala:84)
  at org.apache.spark.sql.execution.datasources.DataSource.lookupDataSource(DataSource.scala:132)
  ... 55 more

scala> 


메이븐에서 스파크 버전에 맞는 카프카 라이브러리를 다운로드 해서 추가해 주면 됩니다. 아래의 위치에서 필요한 파일을 다운로드 받아서 스파크 쉘을 실행할 때 jar 파일을 추가해 주면 됩니다.
 

 

해결방법

스파크 쉘을 실행할 때 kafka jar파일을 추가하면 됩니다. 

$ spark-shell --jars spark-sql-kafka-0-10_2.11-2.0.2.jar

https://mvnrepository.com/artifact/org.apache.spark/spark-sql-kafka-0-10_2.11

 

Maven Repository: org.apache.spark » spark-sql-kafka-0-10

Kafka 0.10+ Source For Structured Streaming VersionScalaRepositoryUsagesDate2.4.x2.4.42.11Central1Aug, 20192.4.32.11Central19May, 20192.4.22.11Central2Apr, 20192.4.12.11Central1Apr, 20192.4.02.11Central5Oct, 20182.3.x2.3.42.11Central 0 Sep, 20192.3.32.11Ce

mvnrepository.com

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'빅데이터 > spark' 카테고리의 다른 글

[spark] Unable to instantiate SparkSession with Hive support because Hive classes are not found. 오류 해결 방법  (0) 2019.11.08
[spark] AWS EMR에서 Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.serialization.ByteArrayDeserializer 오류 발생시 해결 방법  (0) 2019.10.14
[spark] <console>:23: error: overloaded method value option with alternatives: 오류  (1) 2019.10.14
[spark-dataframe] 데이터 프레임에 새로운 칼럼 추가  (0) 2019.08.08
[spark] MLib 라이브러리  (1) 2019.04.11
'빅데이터/spark' 카테고리의 다른 글
  • [spark] Unable to instantiate SparkSession with Hive support because Hive classes are not found. 오류 해결 방법
  • [spark] AWS EMR에서 Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.serialization.ByteArrayDeserializer 오류 발생시 해결 방법
  • [spark] <console>:23: error: overloaded method value option with alternatives: 오류
  • [spark-dataframe] 데이터 프레임에 새로운 칼럼 추가
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    java
    하이브
    emr
    백준
    oozie
    다이나믹
    SPARK
    Linux
    HDFS
    Tez
    k8s
    S3
    파이썬
    airflow
    정올
    HIVE
    error
    mysql
    ubuntu
    yarn
    Hadoop
    nodejs
    build
    오류
    알고리즘
    Python
    bash
    hbase
    하둡
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[spark] AWS-EMR에서 스파크와 카프카 연동에서 발생한 Caused by: java.lang.ClassNotFoundException: kafka.DefaultSource 오류 해결 방법
상단으로

티스토리툴바