SlideShare a Scribd company logo
1 of 55
Download to read offline
SPARK+AI

SUMMIT 2019
아이나비시스템즈 선행기술개발팀
박대성 (bigcastle@inavi.kr)
APRIL 23 - 25 | SAN FRANCISCO
SPARK+AI SUMMIT 2019
Koalas Scheduling Policies
Nested Columns
Recommendation System
Design Structured Streaming Pipelines
Data Pipelines
Real-Time Analytics
Neptune
…
Experienced Things
SPARK+AI SUMMIT 2019
OVERVIEW
▸ 현장 이미지
▸ What’s Next for Apache Spark
▸ Databricks Platforms
▸ Streaming Data Pipelines
▸ Other Sessions
SPARK+AI SUMMIT 2019
현장 이미지
SPARK+AI SUMMIT 2019
현장 이미지
SPARK+AI SUMMIT 2019
현장 이미지
WHAT’S
NEXT FOR
APACHE SPARK
SPARK+AI SUMMIT 2019
SPARK 1.0
SPARK 2.0
2014 2016
SPARK 3.0
2019
(expected)
1000가지 이상의
기능 및 버그 수정
APACHE SPARK 3.0
SPARK+AI SUMMIT 2019
APACHE SPARK DESIGN PRINCIPLES
1 Unify Data + AI
2
3
Run Everywhere
Easy-to-use APIs
SPARK+AI SUMMIT 2019
APACHE SPARK DESIGN PRINCIPLES
1 Unify Data + AI
2
3
Run Everywhere
Easy-to-use APIs
Spark MLLib
PYTORCH
TensorFlow
mxnet
CNTK
…
Tracking,
Management
SPARK+AI SUMMIT 2019
APACHE SPARK DESIGN PRINCIPLES
1 Unify Data + AI
2
3
Run Everywhere
Easy-to-use APIs
Spark
Standalone Mode
SPARK+AI SUMMIT 2019
APACHE SPARK DESIGN PRINCIPLES
1 Unify Data + AI
2
3
Run Everywhere
Easy-to-use APIs
2013: APIs for data engineers
2015: APIs for data engineers & scientists
SPARK+AI SUMMIT 2019
APACHE SPARK DESIGN PRINCIPLES
1 Unify Data + AI
2
3
Run Everywhere
Easy-to-use APIs
Typical journey of a Data Scientist
Education,
Analyze Small Datasets
PANDAS SPARK
Analyze Large Datasets
Koalas - Pandas Dataframe API on Spark
DATABRICKS
PLATFORMS
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ 데이터는 분석을 위해 준비되어 있지 않음
고객 데이터 클릭 이벤트
센서 데이터
이미지 데이터
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ Delta Lake - Open Source Project
고객 데이터 클릭 이벤트
센서 데이터
이미지 데이터
Delta Lake
ACID Transactions
Unified Streaming & Batch
Scalable Metadata handling
Time Travel
Schema enforcement
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ 복잡한 람다-아키텍쳐를 단순화 시킴
Event
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ 복잡한 람다-아키텍쳐를 단순화 시킴
Event
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ 복잡한 람다-아키텍쳐를 단순화 시킴
Event
df.write.format(“parquet”).save(“data”)
df.write.format(“delta”).save(“data”)
SPARK+AI SUMMIT 2019
DELTA LAKE
▸ Pros
▸ Full ACID Transactions 지원
▸ 데이터 버저닝
▸ 배치 & 스트리밍 통합
▸ 기존 Apache Spark API와 100% 호환
▸ 테이블 스키마 변경 가능
▸ Cons
▸ Apache Spark 2.4.2 이상 지원
▸ 읽기 성능을 높이기 위해 주기적으로 Compaction(Merge) 작업이 필요함.
▸ 일부 유용한 기능이 Managed 버전에서만 지원되고 OSS버전에선 사용할 수 없음.

(향후 지원계획)
SPARK+AI SUMMIT 2019
ML FLOW: OPEN SOURCE ML PLATFORM
▸ ML Lifecycle
Raw Data Data Preparation Training Deployment
SPARK+AI SUMMIT 2019
ML FLOW: OPEN SOURCE ML PLATFORM
▸ ML Lifecycle
Raw Data Data Preparation Training Deployment
AWS S3
Hadoop
Delta Lake
MongoDB
Kafka
…
Apache Spark
SQL
Python
Pandas
Scikit-learn
…
Apache Spark
PYTORCH
XGBoost
TensorFlow
R
…
Docker
Apache Spark
AWS SageMaker
Mobile Phone
….
Model Exchange
SPARK+AI SUMMIT 2019
ML FLOW: OPEN SOURCE ML PLATFORM
▸ Custom ML Platforms
Facebook FBLearner
Uber Michelangelo
Google TFX
Samsung Brightics AI
Dataiku
+ ML Cycle 을 일반화 시켜서 그냥 가져다 쓰기만 하면 된다.
- 알고리즘/프레임웍에 제약이 있거나 일부 도메인에만 유용할 수 있음
SPARK+AI SUMMIT 2019
ML FLOW: OPEN SOURCE ML PLATFORM
▸ MLflow Tracking : experiment tracking
▸ MLflow Projects : reproducible runs
▸ MLflow Models : model packaging
SPARK+AI SUMMIT 2019
ML FLOW: OPEN SOURCE ML PLATFORM
mlflow.log_param(“lambda”, 0.5)
mlflow.log_metric(“rmse”, 0.2)
아래와 같은 코드만 넣어주면
Managed by Databricks
Docs : mlflow.org
STREAMING
DATA PIPELINES
SPARK+AI SUMMIT 2019
참고한 세션들
▸ FIS - Life Is but a Stream
▸ SpotX - Spark Streaming
▸ COMCAST - Winning the Audience With AI
▸ Databricks - Productizing Structured Streaming Jobs
▸ Spark Commiter - Designing Structured Streaming Pipelines
▸ Eventbrite - Near Real-Time Analytics With Apache Spark
▸ Sparkflows.Io - Self-Service Apache Spark Structured Streaming
Applications & Analytics
SPARK+AI SUMMIT 2019
CASE: FIS GLOBAL
▸ 1968년 창립된 직원수 53,000명의 금융 소프트웨어를 만드는 기업
▸ 주 고객은 은행과 금융회사
BUSINESS
INTELLIGENCE HYBRID ETL PURE
STREAMING
SPARK+AI SUMMIT 2019
CASE: FIS GLOBAL
초창기 파이프라인
STREAMING EVOLUTION
SPARK+AI SUMMIT 2019
CASE: FIS GLOBAL
▸ 이후 Streaming 샘플을 Databricks Platform으로 보여줌
▸ https://github.com/KevenMellott91/spark-summit-2019-demo
SPARK+AI SUMMIT 2019
CASE: SPOTX
▸ Spark Streaming, DStream, Structured Streaming를 설명
▸ 개발 시, Small Datasets을 가지고 Local Mode에서 개발하는 것을 강조함
▸ 개발도구는 IntelliJ와 SBT를 추천함
▸ 테스팅은 .queueStream() 과 같은 유닛 테스트를 진행
▸ 모니터링은 리스너를 오버라이딩하여 mysql, influxdb, grafana를 통해 모니터링
▸ Kafka Offset 관리는 배치완료 리스너를 오버라이딩 하여 MySQL에 offset을 기록하
고 읽어올 수 있도록 하였음
▸ 몇가지 유용한 설정들 공유
▸ kafka의 auto commit off, rdd.compress, spark.storage.memoryFraction …
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 세계에서 가장 큰 케이블 텔레비전 방송사 및 ISP
▸ 음성으로 컨텐츠를 찾아주는데 많은 어려움이 있음
▸ 고객의 의도를 파악하기 어려움
▸ 초당 수십억개의 세션과 수백만의 트랜잭션이 발생
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
초창기 파이프라인
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 그렇게 서버가 터졌습니다!
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
초당 1500만 트랜젝션 발생
AWS S3는 초당 3,500건의 제한이 있음
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 2차 시도 (분산처리)
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
S3
S3
S3
S3
키로 분산 저장
…
…
“이제 잘될거야!”
640 Machines
32Jobs (2.5 PB)
key=1
key=2
key=3
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 2차 시도 (분산처리): 그리고 서버가 터지기 시작합니다.
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
S3
ERR
S3
S3
키로 분산 저장
…
…
640Machines
32Jobs (2.5 PB)
key=1
key=2
key=3
COMPLEX!!
FREQUENT FAILURES!!
UNMANAGEABLE!!
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 3차 시도 (Delta Lake): Scale, Reliability, Performance
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
S3
Auto Optimize
Delta Lake
Single Job
64 Machines
Enable Random Prefix
= No more Key Management
S3
Delta Lake
Auto Optimize
Delta Lake
Enable Random Prefix
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 3차 시도 (Delta Lake): Scale, Reliability, Performance
데이터 수집 처리
(전처리)
세션화
(분석)
최적화
(저장/배포)
S3
Auto Optimize
Delta Lake
Single Job
64Machines
Enable Random Prefix
= No more Key Management
S3
Delta Lake
Auto Optimize
Delta Lake
Enable Random Prefix
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 추가적인 문제: Complex Development Environment of ML
다양한 개발 환경
PB 단위의 방대한 데이터
100여가지의 많은 모델
데이터 과학자가 세계에 퍼져있음
PYTORCH
XGBoost
Scikit-Learn
+
SLOW ITERATION
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ SELF-SERVICE AI
PYTORCH
XGBoost
Scikit-Learn
Delta Lake
데이터는 Delta Lake로
개발도구 간의 Data Replication 을 최소화
학습 모델은 Databricks Workspace로
Notebook 편집 모드로 모델 작성/개발
모델은 mlflow로
Tracking, Packaging
완성된 모델은 Kubeflow로
상용 서비스로 배포, 적용
클릭 1번으로 실행, 코드 재사용, 추적, 배포
SPARK+AI SUMMIT 2019
CASE: COMCAST
▸ 신뢰성 확보: PB 단위의 데이터를 처리하면서 에러가 발생하지 않음
▸ 인스턴스 10배 감소: 640 -> 64!
▸ 팀 생산성 향상: 전세계의 데이터 과학자들이 협업
▸ 빠른 적용: 몇 주 걸리던 배포가 5분만에 가능해짐
SPARK+AI SUMMIT 2019
CASE: DATABRICKS
▸ Structured Streaming 에 대한 전반적인 설명을 함

(구축/테스팅/모니터링/배포)
▸ Data Pipelines @ Databricks
SPARK+AI SUMMIT 2019
CASE: DATABRICKS
▸ Bronze Table
▸ 데이터를 가공하진 않고, 중복제거와 JSON으로 변환하여 Parquet Format으로 저장
▸ 만약의 경우를 대비하여 데이터에 오류가 있으면 수정하기 위해 2주 가량 보관
▸ Silver Table
▸ 10/100 개의 직접적인 쿼리를 날릴수 있는 테이블
▸ 개인정보 등을 마스킹하고 일부 교정된 데이터를 저장함
▸ Gold Table
▸ Silver Table로 부터 연산/집계된 테이블
▸ 데이터 사이언스 팀으로부터 만들어짐
SPARK+AI SUMMIT 2019
DESIGNING STRUCTURED STREAMING PIPELINES
▸ Tathagata Das (Spark Committer, PMC)
Spark는 자동으로 batch-like 하도록 실행 계획을 최적화 함
SPARK+AI SUMMIT 2019
DESIGNING STRUCTURED STREAMING PIPELINES
▸ Streaming Pipelines을 설계할 때는 3가지의 질문을 던져야함
How?
What? Why?
데이터는 무슨 데이터인가?
무슨 결과가 나와야 하는가?
얼마나 빠른 응답이 요구되는가?
처리량은 얼마나 되는가?
왜 스트리밍으로 처리해야하는가?
결과는 누구(사람/컴퓨터)를 위한 건가?
언제 사용되는 결과인가?
어떻게 데이터를 처리할 것인가?
어떻게 결과를 저장할 것인가?
SPARK+AI SUMMIT 2019
“나는 대시보드의 숫자를
매 초마다 업데이트 하길 원해”
WHY? 에서 이뤄지는 일반적인 실수
사람이 몇 분/시간 안에
행동을 취한다면
매 초마다 업데이트 할 필요가 없음
“나는 매 초마다 장애를
진단하기 위해서 만들거야”
(하지만 내 데이터는 자주 장애가 발생 해)
낮은 품질의 데이터와
결과에 대한 신속한 조치를
할 필요가 없음
(데이터는 key-value 스토어에 쌓고 있어)
“데이터를 머신러닝 학습에
사용할 거야”
Key-value 스토어는
데이터 스캔 작업으로 인해
큰 데이터를 처리하는데 적합하지 않음
SPARK+AI SUMMIT 2019
DESIGNING STRUCTURED STREAMING PIPELINES
▸ Streaming Design Patterns
How?
What?
Why?
SPARK+AI SUMMIT 2019
DESIGNING STRUCTURED STREAMING PIPELINES
▸ Streaming Design Patterns
How?
What?
Why?
비정형 데이터를
구조적 테이블 데이터로 변환할거야
Latency : few minutes
구조화된 최신의 데이터를
인터렉티브하게 질의하거나,
배치 작업에 사용해야 해
Structured Streaming을 사용하여 데이터를 정형화
저장은 확장 가능한 구조적 스토리지를 사용 할 것.
Data Skipping 지원이 필요.
=> Parquet, ORC, Delta Lake, or even better
OTHER
SESSIONS
SPARK+AI SUMMIT 2019
TensorFlow 2.0
▸ TensorFlow 2.0 High Level API - Keras
▸ Improved Debugger with Eager Execution
▸ Distribute Strategy - Easy to use Training on Multiple GPU
▸ Deploy Anywhere
▸ Server - TensorFlow Extended
▸ Edge Devices (Mobile) - TensorFlow Lite
▸ JavaScript - TensorFlow .JS
SPARK+AI SUMMIT 2019
Geospatial Analytics at Scale with Deep Learning and Apache Spark
▸ Databricks 에서 발표
▸ 대용량 위성사진(타일 이미지)을 딥러닝을 이용하여 자동차를 인식하고
이를 처리하여 지도에 히트맵 형태로 뿌려주는 과정을 이야기
▸ Magellan 을 소개
SPARK+AI SUMMIT 2019
Geospatial Analytics…: Magellan
▸ Geospatial 분석을 위한 분산 실행 엔진 오픈소스 라이브러리
▸ 다양한 포맷을 지원
▸ ESRI, GeoJSON, OSM-XML, WKT
▸ 기본적인 지오메트릭 연산을 수행가능함
▸ Polygon intersection, Joining
▸ Spark SQL 엔진에 통합되어 높은 퍼포먼스로 인덱스를 생성함
SPARK+AI SUMMIT 2019
Geospatial Analytics…: Magellan
https://github.com/harsha2010/magellan
SPARK+AI SUMMIT 2019
ETC
▸ Microsoft - Black in AI
▸ KPMG - Overview of the Recommend System
▸ Apple - Nested Columns Support in Parquet
▸ Netflex - Recommendation System “Taste Cluster”
▸ Neptune: Extended DAG Scheduler @ Spark 2.4 extension
▸ DASK - Distribution Parallel Computing in Python
SPARK+AI SUMMIT 2019
SUMMARY
▸ 세션들의 난이도는 쉬운 편
▸ 기초적인 설명과 사례 예시를 많이 들어줬음
▸ Apache Spark를 위한 Summit
▸ Spark의 큰 변화가 있을 것으로 예상
▸ Hive 3의 변화처럼 큰 변화가 계속 진행 중임

Spark 2.3과 2.4의 차이도 매우 커짐
▸ 앞으로도 Spark의 인기는 지속될 것으로
보임
▸ Structured Streaming이 너무 강력함.

쉬운 Lambda 아키텍쳐 구현이 가능.
감사합니다.

More Related Content

Similar to Spark Summit 2019

Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...Amazon Web Services Korea
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablup Inc.
 
Streaming platform Kafka in SK planet
Streaming platform Kafka in SK planetStreaming platform Kafka in SK planet
Streaming platform Kafka in SK planetByeongsu Kang
 
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...Amazon Web Services Korea
 
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...Amazon Web Services Korea
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트Amazon Web Services Korea
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBrockplace
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampSang-bae Lim
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AIJoongi Kim
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Jeongkyu Shin
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AILablup Inc.
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...Amazon Web Services Korea
 
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저POSCO ICT
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)Kee Hoon Lee
 
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWSGruter
 

Similar to Spark Summit 2019 (20)

Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...
아마존은 반도체를 어떻게 설계하는가? -LS 산전 HPC 적용 사례와 함께 - 이현석 사업 개발 담당 이사, AWS / 유성열 책임 연구원...
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
 
Streaming platform Kafka in SK planet
Streaming platform Kafka in SK planetStreaming platform Kafka in SK planet
Streaming platform Kafka in SK planet
 
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...
 
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...
SAP on AWS 사례로 알아보는 핵심 업무 이전 : SAP Competency 파트너사의 경험과 비젼 - 이상규 솔루션즈 아키텍트, A...
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AI
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
 
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저
170426 cloud day in 포항 1. 클라우드컴퓨팅과 aws 소개_aws 이재현 매니저
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016
디지털 미디어 산업을 위한 AWS 서비스 :: 홍두현 :: AWS Summit Seoul 2016
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
 

More from Daesung Park

알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기Daesung Park
 
TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기Daesung Park
 
TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다Daesung Park
 
TechTalk - POI Tokenizing
TechTalk - POI TokenizingTechTalk - POI Tokenizing
TechTalk - POI TokenizingDaesung Park
 
TechTalk - Object Interning
TechTalk - Object InterningTechTalk - Object Interning
TechTalk - Object InterningDaesung Park
 
TechTalk - DrawIO 팁
TechTalk - DrawIO 팁TechTalk - DrawIO 팁
TechTalk - DrawIO 팁Daesung Park
 
Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요Daesung Park
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017Daesung Park
 

More from Daesung Park (8)

알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기
 
TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기
 
TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다
 
TechTalk - POI Tokenizing
TechTalk - POI TokenizingTechTalk - POI Tokenizing
TechTalk - POI Tokenizing
 
TechTalk - Object Interning
TechTalk - Object InterningTechTalk - Object Interning
TechTalk - Object Interning
 
TechTalk - DrawIO 팁
TechTalk - DrawIO 팁TechTalk - DrawIO 팁
TechTalk - DrawIO 팁
 
Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017
 

Spark Summit 2019

  • 1. SPARK+AI
 SUMMIT 2019 아이나비시스템즈 선행기술개발팀 박대성 (bigcastle@inavi.kr) APRIL 23 - 25 | SAN FRANCISCO
  • 2. SPARK+AI SUMMIT 2019 Koalas Scheduling Policies Nested Columns Recommendation System Design Structured Streaming Pipelines Data Pipelines Real-Time Analytics Neptune … Experienced Things
  • 3. SPARK+AI SUMMIT 2019 OVERVIEW ▸ 현장 이미지 ▸ What’s Next for Apache Spark ▸ Databricks Platforms ▸ Streaming Data Pipelines ▸ Other Sessions
  • 8. SPARK+AI SUMMIT 2019 SPARK 1.0 SPARK 2.0 2014 2016 SPARK 3.0 2019 (expected) 1000가지 이상의 기능 및 버그 수정 APACHE SPARK 3.0
  • 9. SPARK+AI SUMMIT 2019 APACHE SPARK DESIGN PRINCIPLES 1 Unify Data + AI 2 3 Run Everywhere Easy-to-use APIs
  • 10. SPARK+AI SUMMIT 2019 APACHE SPARK DESIGN PRINCIPLES 1 Unify Data + AI 2 3 Run Everywhere Easy-to-use APIs Spark MLLib PYTORCH TensorFlow mxnet CNTK … Tracking, Management
  • 11. SPARK+AI SUMMIT 2019 APACHE SPARK DESIGN PRINCIPLES 1 Unify Data + AI 2 3 Run Everywhere Easy-to-use APIs Spark Standalone Mode
  • 12. SPARK+AI SUMMIT 2019 APACHE SPARK DESIGN PRINCIPLES 1 Unify Data + AI 2 3 Run Everywhere Easy-to-use APIs 2013: APIs for data engineers 2015: APIs for data engineers & scientists
  • 13. SPARK+AI SUMMIT 2019 APACHE SPARK DESIGN PRINCIPLES 1 Unify Data + AI 2 3 Run Everywhere Easy-to-use APIs Typical journey of a Data Scientist Education, Analyze Small Datasets PANDAS SPARK Analyze Large Datasets Koalas - Pandas Dataframe API on Spark
  • 15. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ 데이터는 분석을 위해 준비되어 있지 않음 고객 데이터 클릭 이벤트 센서 데이터 이미지 데이터
  • 16. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ Delta Lake - Open Source Project 고객 데이터 클릭 이벤트 센서 데이터 이미지 데이터 Delta Lake ACID Transactions Unified Streaming & Batch Scalable Metadata handling Time Travel Schema enforcement
  • 17. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ 복잡한 람다-아키텍쳐를 단순화 시킴 Event
  • 18. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ 복잡한 람다-아키텍쳐를 단순화 시킴 Event
  • 19. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ 복잡한 람다-아키텍쳐를 단순화 시킴 Event df.write.format(“parquet”).save(“data”) df.write.format(“delta”).save(“data”)
  • 20. SPARK+AI SUMMIT 2019 DELTA LAKE ▸ Pros ▸ Full ACID Transactions 지원 ▸ 데이터 버저닝 ▸ 배치 & 스트리밍 통합 ▸ 기존 Apache Spark API와 100% 호환 ▸ 테이블 스키마 변경 가능 ▸ Cons ▸ Apache Spark 2.4.2 이상 지원 ▸ 읽기 성능을 높이기 위해 주기적으로 Compaction(Merge) 작업이 필요함. ▸ 일부 유용한 기능이 Managed 버전에서만 지원되고 OSS버전에선 사용할 수 없음.
 (향후 지원계획)
  • 21. SPARK+AI SUMMIT 2019 ML FLOW: OPEN SOURCE ML PLATFORM ▸ ML Lifecycle Raw Data Data Preparation Training Deployment
  • 22. SPARK+AI SUMMIT 2019 ML FLOW: OPEN SOURCE ML PLATFORM ▸ ML Lifecycle Raw Data Data Preparation Training Deployment AWS S3 Hadoop Delta Lake MongoDB Kafka … Apache Spark SQL Python Pandas Scikit-learn … Apache Spark PYTORCH XGBoost TensorFlow R … Docker Apache Spark AWS SageMaker Mobile Phone …. Model Exchange
  • 23. SPARK+AI SUMMIT 2019 ML FLOW: OPEN SOURCE ML PLATFORM ▸ Custom ML Platforms Facebook FBLearner Uber Michelangelo Google TFX Samsung Brightics AI Dataiku + ML Cycle 을 일반화 시켜서 그냥 가져다 쓰기만 하면 된다. - 알고리즘/프레임웍에 제약이 있거나 일부 도메인에만 유용할 수 있음
  • 24. SPARK+AI SUMMIT 2019 ML FLOW: OPEN SOURCE ML PLATFORM ▸ MLflow Tracking : experiment tracking ▸ MLflow Projects : reproducible runs ▸ MLflow Models : model packaging
  • 25. SPARK+AI SUMMIT 2019 ML FLOW: OPEN SOURCE ML PLATFORM mlflow.log_param(“lambda”, 0.5) mlflow.log_metric(“rmse”, 0.2) 아래와 같은 코드만 넣어주면 Managed by Databricks Docs : mlflow.org
  • 27. SPARK+AI SUMMIT 2019 참고한 세션들 ▸ FIS - Life Is but a Stream ▸ SpotX - Spark Streaming ▸ COMCAST - Winning the Audience With AI ▸ Databricks - Productizing Structured Streaming Jobs ▸ Spark Commiter - Designing Structured Streaming Pipelines ▸ Eventbrite - Near Real-Time Analytics With Apache Spark ▸ Sparkflows.Io - Self-Service Apache Spark Structured Streaming Applications & Analytics
  • 28. SPARK+AI SUMMIT 2019 CASE: FIS GLOBAL ▸ 1968년 창립된 직원수 53,000명의 금융 소프트웨어를 만드는 기업 ▸ 주 고객은 은행과 금융회사 BUSINESS INTELLIGENCE HYBRID ETL PURE STREAMING
  • 29. SPARK+AI SUMMIT 2019 CASE: FIS GLOBAL 초창기 파이프라인 STREAMING EVOLUTION
  • 30. SPARK+AI SUMMIT 2019 CASE: FIS GLOBAL ▸ 이후 Streaming 샘플을 Databricks Platform으로 보여줌 ▸ https://github.com/KevenMellott91/spark-summit-2019-demo
  • 31. SPARK+AI SUMMIT 2019 CASE: SPOTX ▸ Spark Streaming, DStream, Structured Streaming를 설명 ▸ 개발 시, Small Datasets을 가지고 Local Mode에서 개발하는 것을 강조함 ▸ 개발도구는 IntelliJ와 SBT를 추천함 ▸ 테스팅은 .queueStream() 과 같은 유닛 테스트를 진행 ▸ 모니터링은 리스너를 오버라이딩하여 mysql, influxdb, grafana를 통해 모니터링 ▸ Kafka Offset 관리는 배치완료 리스너를 오버라이딩 하여 MySQL에 offset을 기록하 고 읽어올 수 있도록 하였음 ▸ 몇가지 유용한 설정들 공유 ▸ kafka의 auto commit off, rdd.compress, spark.storage.memoryFraction …
  • 32. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 세계에서 가장 큰 케이블 텔레비전 방송사 및 ISP ▸ 음성으로 컨텐츠를 찾아주는데 많은 어려움이 있음 ▸ 고객의 의도를 파악하기 어려움 ▸ 초당 수십억개의 세션과 수백만의 트랜잭션이 발생 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) 초창기 파이프라인
  • 33. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 그렇게 서버가 터졌습니다! 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) 초당 1500만 트랜젝션 발생 AWS S3는 초당 3,500건의 제한이 있음
  • 34. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 2차 시도 (분산처리) 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) S3 S3 S3 S3 키로 분산 저장 … … “이제 잘될거야!” 640 Machines 32Jobs (2.5 PB) key=1 key=2 key=3
  • 35. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 2차 시도 (분산처리): 그리고 서버가 터지기 시작합니다. 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) S3 ERR S3 S3 키로 분산 저장 … … 640Machines 32Jobs (2.5 PB) key=1 key=2 key=3 COMPLEX!! FREQUENT FAILURES!! UNMANAGEABLE!!
  • 36. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 3차 시도 (Delta Lake): Scale, Reliability, Performance 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) S3 Auto Optimize Delta Lake Single Job 64 Machines Enable Random Prefix = No more Key Management S3 Delta Lake Auto Optimize Delta Lake Enable Random Prefix
  • 37. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 3차 시도 (Delta Lake): Scale, Reliability, Performance 데이터 수집 처리 (전처리) 세션화 (분석) 최적화 (저장/배포) S3 Auto Optimize Delta Lake Single Job 64Machines Enable Random Prefix = No more Key Management S3 Delta Lake Auto Optimize Delta Lake Enable Random Prefix
  • 38. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 추가적인 문제: Complex Development Environment of ML 다양한 개발 환경 PB 단위의 방대한 데이터 100여가지의 많은 모델 데이터 과학자가 세계에 퍼져있음 PYTORCH XGBoost Scikit-Learn + SLOW ITERATION
  • 39. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ SELF-SERVICE AI PYTORCH XGBoost Scikit-Learn Delta Lake 데이터는 Delta Lake로 개발도구 간의 Data Replication 을 최소화 학습 모델은 Databricks Workspace로 Notebook 편집 모드로 모델 작성/개발 모델은 mlflow로 Tracking, Packaging 완성된 모델은 Kubeflow로 상용 서비스로 배포, 적용 클릭 1번으로 실행, 코드 재사용, 추적, 배포
  • 40. SPARK+AI SUMMIT 2019 CASE: COMCAST ▸ 신뢰성 확보: PB 단위의 데이터를 처리하면서 에러가 발생하지 않음 ▸ 인스턴스 10배 감소: 640 -> 64! ▸ 팀 생산성 향상: 전세계의 데이터 과학자들이 협업 ▸ 빠른 적용: 몇 주 걸리던 배포가 5분만에 가능해짐
  • 41. SPARK+AI SUMMIT 2019 CASE: DATABRICKS ▸ Structured Streaming 에 대한 전반적인 설명을 함
 (구축/테스팅/모니터링/배포) ▸ Data Pipelines @ Databricks
  • 42. SPARK+AI SUMMIT 2019 CASE: DATABRICKS ▸ Bronze Table ▸ 데이터를 가공하진 않고, 중복제거와 JSON으로 변환하여 Parquet Format으로 저장 ▸ 만약의 경우를 대비하여 데이터에 오류가 있으면 수정하기 위해 2주 가량 보관 ▸ Silver Table ▸ 10/100 개의 직접적인 쿼리를 날릴수 있는 테이블 ▸ 개인정보 등을 마스킹하고 일부 교정된 데이터를 저장함 ▸ Gold Table ▸ Silver Table로 부터 연산/집계된 테이블 ▸ 데이터 사이언스 팀으로부터 만들어짐
  • 43. SPARK+AI SUMMIT 2019 DESIGNING STRUCTURED STREAMING PIPELINES ▸ Tathagata Das (Spark Committer, PMC) Spark는 자동으로 batch-like 하도록 실행 계획을 최적화 함
  • 44. SPARK+AI SUMMIT 2019 DESIGNING STRUCTURED STREAMING PIPELINES ▸ Streaming Pipelines을 설계할 때는 3가지의 질문을 던져야함 How? What? Why? 데이터는 무슨 데이터인가? 무슨 결과가 나와야 하는가? 얼마나 빠른 응답이 요구되는가? 처리량은 얼마나 되는가? 왜 스트리밍으로 처리해야하는가? 결과는 누구(사람/컴퓨터)를 위한 건가? 언제 사용되는 결과인가? 어떻게 데이터를 처리할 것인가? 어떻게 결과를 저장할 것인가?
  • 45. SPARK+AI SUMMIT 2019 “나는 대시보드의 숫자를 매 초마다 업데이트 하길 원해” WHY? 에서 이뤄지는 일반적인 실수 사람이 몇 분/시간 안에 행동을 취한다면 매 초마다 업데이트 할 필요가 없음 “나는 매 초마다 장애를 진단하기 위해서 만들거야” (하지만 내 데이터는 자주 장애가 발생 해) 낮은 품질의 데이터와 결과에 대한 신속한 조치를 할 필요가 없음 (데이터는 key-value 스토어에 쌓고 있어) “데이터를 머신러닝 학습에 사용할 거야” Key-value 스토어는 데이터 스캔 작업으로 인해 큰 데이터를 처리하는데 적합하지 않음
  • 46. SPARK+AI SUMMIT 2019 DESIGNING STRUCTURED STREAMING PIPELINES ▸ Streaming Design Patterns How? What? Why?
  • 47. SPARK+AI SUMMIT 2019 DESIGNING STRUCTURED STREAMING PIPELINES ▸ Streaming Design Patterns How? What? Why? 비정형 데이터를 구조적 테이블 데이터로 변환할거야 Latency : few minutes 구조화된 최신의 데이터를 인터렉티브하게 질의하거나, 배치 작업에 사용해야 해 Structured Streaming을 사용하여 데이터를 정형화 저장은 확장 가능한 구조적 스토리지를 사용 할 것. Data Skipping 지원이 필요. => Parquet, ORC, Delta Lake, or even better
  • 49. SPARK+AI SUMMIT 2019 TensorFlow 2.0 ▸ TensorFlow 2.0 High Level API - Keras ▸ Improved Debugger with Eager Execution ▸ Distribute Strategy - Easy to use Training on Multiple GPU ▸ Deploy Anywhere ▸ Server - TensorFlow Extended ▸ Edge Devices (Mobile) - TensorFlow Lite ▸ JavaScript - TensorFlow .JS
  • 50. SPARK+AI SUMMIT 2019 Geospatial Analytics at Scale with Deep Learning and Apache Spark ▸ Databricks 에서 발표 ▸ 대용량 위성사진(타일 이미지)을 딥러닝을 이용하여 자동차를 인식하고 이를 처리하여 지도에 히트맵 형태로 뿌려주는 과정을 이야기 ▸ Magellan 을 소개
  • 51. SPARK+AI SUMMIT 2019 Geospatial Analytics…: Magellan ▸ Geospatial 분석을 위한 분산 실행 엔진 오픈소스 라이브러리 ▸ 다양한 포맷을 지원 ▸ ESRI, GeoJSON, OSM-XML, WKT ▸ 기본적인 지오메트릭 연산을 수행가능함 ▸ Polygon intersection, Joining ▸ Spark SQL 엔진에 통합되어 높은 퍼포먼스로 인덱스를 생성함
  • 52. SPARK+AI SUMMIT 2019 Geospatial Analytics…: Magellan https://github.com/harsha2010/magellan
  • 53. SPARK+AI SUMMIT 2019 ETC ▸ Microsoft - Black in AI ▸ KPMG - Overview of the Recommend System ▸ Apple - Nested Columns Support in Parquet ▸ Netflex - Recommendation System “Taste Cluster” ▸ Neptune: Extended DAG Scheduler @ Spark 2.4 extension ▸ DASK - Distribution Parallel Computing in Python
  • 54. SPARK+AI SUMMIT 2019 SUMMARY ▸ 세션들의 난이도는 쉬운 편 ▸ 기초적인 설명과 사례 예시를 많이 들어줬음 ▸ Apache Spark를 위한 Summit ▸ Spark의 큰 변화가 있을 것으로 예상 ▸ Hive 3의 변화처럼 큰 변화가 계속 진행 중임
 Spark 2.3과 2.4의 차이도 매우 커짐 ▸ 앞으로도 Spark의 인기는 지속될 것으로 보임 ▸ Structured Streaming이 너무 강력함.
 쉬운 Lambda 아키텍쳐 구현이 가능.