Prerequisites
이 실습을 완료하려면 환경이 다음 전제 조건을 충족해야합니다.
운영 체제 : Mac OS X 또는 Linux
SingleStore(MemSQL) : Version 6.0 이상
Spark : spark-2.4.3-bin-hadoop2.7
SBT : Version 1.2.8
파트 1 : SingleStore 데이터베이스, 테이블 및 데이터 생성
SingleStore에서 다음과 같이 데이터베이스 및 테이블을 생성하고 데이터를 입력합니다.
CREATE DATABASE quickstart_kafka;
USE quickstart_kafka;
CREATE TABLE sensor_data_table(id text);
INSERT INTO sensor_data_table(id)
VALUES('sensor1');
파트 2 : SBT 프로젝트 생성
다음과 같이 파일을 생성합니다.
./build.sbt
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.3"
libraryDependencies += "com.memsql" %% "memsql-connector" % "2.0.7"
./src/main/scala/SimpleApp.scala
(하단의 SingleStore 정보는 자신의 환경에 맞게 수정합니다.)
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
object SimpleApp {
def main(args: Array[String]) {
val conf = new SparkConf()
.setAppName("MemSQL Spark Connector Example")
.set("spark.memsql.host", "192.168.0.198")
.set("spark.memsql.password", "")
.set("spark.memsql.defaultDatabase", "quickstart_kafka")
.set("spark.master", "local")
val spark = SparkSession.builder.config(conf).getOrCreate()
val sensorDataFromQuickstartKafka = spark
.read
.format("com.memsql.spark.connector")
.options(Map("path" -> ("quickstart_kafka.sensor_data_table")))
.load()
// sensorDataFromQuickstartKafka is now a Spark DataFrame which represents the specified MemSQL table
// and can be queried using Spark DataFrame query functions
// count the number of rows
println(s"The number of sensors from Kafka is ${sensorDataFromQuickstartKafka.count()}")
// print out the DataFrame
sensorDataFromQuickstartKafka.show()
}
}
파트 3 : SBT 프로젝트 컴파일 및 실행
다음 줄을 입력하고 Enter 키를 누릅니다.
$ sbt run
다음과 같이 출력되면 성공한 것 입니다.
...
The number of sensors from Kafka is 1
...
[success] Total time: 21 s, completed Jul 25, 2019 2:03:16 AM
...
- SingleStore 공식 문서
출처: https://docs.singlestore.com/v7.1/third-party-integrations/spark-3-connector/
※ www.a-platform.biz | info@a-platform.biz
'SingleStoreDB > 엔지니어링' 카테고리의 다른 글
ML을 위한 3가지 SingleStore 활용 영역 (0) | 2019.08.06 |
---|---|
운영 분석(Operational Analytics)의 필요성 (0) | 2019.07.25 |
SingleStore, Apache Spark 연동 개요 (0) | 2019.07.25 |
SingleStore, Apache Kafka 연동 실습 - Quickstart (0) | 2019.07.24 |
SingleStore, Apache Kafka 연동 개요 (0) | 2019.07.24 |