Top Banner
Apache Kafka & Kafka Connect ( ETL ) Future Architect ,Inc Keigo Suda 2016/11/25 D&S Data Night vol.04
36

Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

Apr 16, 2017

Download

Internet

Keigo Suda
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

Apache Kafka & Kafka Connect

( ETL )

Future Architect ,IncKeigo Suda

2016/11/25D&S Data Night vol.04

Page 2: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

12

!Kafka Connect ETL( )

( ) /

Page 3: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

13

!Future Architect ,Inc ( )

!

! IoT

Page 4: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

14

Page 5: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

15

Kafka Connect

Page 6: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

16

!Kafka ver 0.9!Kafka!

!

! /

Kafka Connect

Page 7: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

17

Connectors

https://www.confluent.io/product/connectors/

Page 8: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

Kafka Connect

Page 9: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Page 10: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Page 11: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

21

Page 12: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

22

!

!

!

Kafka Connect ( )

Page 13: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

23

ETL Kakfa Connect( )

P T

// / /

AC

KM

I

M

KM

Page 14: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

Kafka Connect

Page 15: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

25http://docs.confluent.io/2.0.0/connect/userguide.html#getting-started

Kakfa Connect

Kafka Connect

Page 16: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

26

Kakfa Connect

http://docs.confluent.io/2.0.0/connect/userguide.html#getting-started

Page 17: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

27

Stream & Partition(RDB )

http://www.slideshare.net/KaufmanNg/data-pipelines-with-kafka-connect

Page 18: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

28

N:1

Stream & Partition(RDB )

http://www.slideshare.net/KaufmanNg/data-pipelines-with-kafka-connect

Page 19: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

29

Kakfa Connect

http://docs.confluent.io/2.0.0/connect/userguide.html#getting-started

Page 20: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

30

Worker & Connector

http://docs.confluent.io/2.0.0/connect/userguide.html#getting-started

Page 21: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

31

CONNECTERWORKER

STREAM

PARTITIONSTANDALONE MODE

DISTRIBUTED MODE

TASK

Page 22: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

32

$ bin/connect-standalone.sh config/connect-standalone.properties connector1.properties

(Standalone mode)

!

!

! Worker! Connector

Worker Connector

Page 23: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

33

name=local-file-source connector.class=FileStreamSource tasks.max=1 file=test.txt topic=connect-test

bootstrap.servers=localhost:9092 key.converter=org.apache.kafka.connect.json.JsonConverter value.converter=org.apache.kafka.connect.json.JsonConverter ...

Worker

Connector

Page 24: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Page 25: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

35

!

!

! ETL

Page 26: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

36

!Kafka Connect Source Sink

!Sink/Source Sink

Kafka Connect

Source Sink

Page 27: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

37

! Connector/Task OK! API OK

( )

( )

Page 28: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

38

Connector( )

Page 29: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

39

!!(source pull)

Task

Page 30: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

40

! Task Connector

!

Deploy

name=sample-sink connector.class=SampleSinkConnector tasks.max=1 topic=connect-test

Connector

Page 31: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Page 32: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

42

!Kafka

!

Kafka Connect

Page 33: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

43

!

API

Kafka Connect

Page 34: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

44

(kafka-connect-jdbc)

Page 35: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

45

! ConfluentConfuluent Platform

Kafka Connect

Page 36: Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)

46

!Kakfa ( )!Confluent….