2021년 6월 14일 월요일

[ Spark ] 예제코드 SBT환경에서 실행


Linux SBT Tool를 통해 프로젝트 구조를 만들었다면 

참조 : https://www.blogger.com/blog/post/edit/preview/5343302747859156115/6404446971532325983

ProjectName/build.sbt를 수정하여 버전 및 Library를 추가한다.


- Spark관련 라이브러리 추가

libraryDependencies ++= Seq(
        "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2",
        "org.apache.spark" % "spark-core_2.11" % "2.4.0",
        "org.apache.spark" % "spark-sql_2.11" % "2.4.0",
        "org.apache.spark" % "spark-hive_2.11" % "2.4.0"
)

참고 : https://www.scala-sbt.org/1.x/docs/Library-Dependencies.html


$ sudo vi src/main/scala/Main.scala

import org.apache.spark.sql.SparkSession
object Main extends App {
  val spark = SparkSession.builder()
      .appName("Spark Hive Example")
      .enableHiveSupport()
      .getOrCreate()

  spark.sql("show databases").show()
}



# 스파크 코드작성
sudo vi src/main/scala/Main.scala

# jar파일로 빌드
sbt package

# jar파일 spark실행
spark-submit --class [클래스명] --master [local/yarn/yarn-client] [jar파일경로] [인자]

Ex)
spark-submit --class "Curator" --master local --deploy-mode client /home/ec2-user/spark/member-influencer-statistics/target/scala-2.11/member-influencer-statistics_2.11-1.0.jar '20210618' '2021-06-18'












댓글 없음:

댓글 쓰기