'0 부터 1 까지 Flink 배우 기'-Flink 가 데 이 터 를 Kafka 에 기록 합 니 다.
이전 글'0 부터 1 까지 Flink 학습'-Flink 는 데 이 터 를 기록 하고 ElasticSearch 까지 Kafka 의 데 이 터 를 ElasticSearch 에 저장 하 는 방법 을 썼 다.그 안에 Flink 가 자체 적 으로 가지 고 있 는 Kafka source connector(Flink Kafka Consumer)가 사용 되 었 다.ES 에 저장 하 는 것 은 그 중의 한 가지 상황 일 뿐 입 니 다.만약 에 우리 가 Flink 를 통 해 변 환 된 데 이 터 를 필요 로 하 는 곳 이 여러 군데 있다 면 sink 플러그 인 을 계속 써 야 하 는 것 이 아 닙 니까?확실히 Flink 에 서 는 많은 sink 을 기본적으로 지원 합 니 다.예 를 들 어 Kafka sink connector(Flink Kafka Producer)도 지원 합 니 다.그러면 이 글 은 Kafka 에 데 이 터 를 어떻게 쓰 는 지 에 대해 이야기 합 니 다.
준비 하 다.
의존 도 를 높이다
Flink 에 서 는 Kafka 0.8,0.9,0.10,0.11 을 지원 하 며 나중에 시간 이 있 으 면 소스 코드 의 실현 을 분석 할 수 있 습 니 다.
여기 서 Kafka 를 설치 해 야 합 니 다.해당 하 는 Flink Kafka connector 의존 버 전 을 추가 하 십시오.여 기 는 0.11 버 전 을 사용 합 니 다.
org.apache.flink
flink-connector-kafka-0.11_2.11
${flink.version}
Kafka 설치
여기에 이 내용 을 쓰 지 않 겠 습 니 다.제 가 예전 에 쓴 글 인 Kafka 의 설치 와 빠 른 입문 을 참고 할 수 있 습 니 다.
여기에서 우 리 는 다른 Kafka 군집 중의 topic 데 이 터 를 자신 이 현지에서 시작 한 Kafka 에 그대로 기록 하 는 것 을 보 여 줍 니 다.
프로필
kafka.brokers=xxx:9092,xxx:9092,xxx:9092
kafka.group.id=metrics-group-test
kafka.zookeeper.connect=xxx:2181
metrics.topic=xxx
stream.parallelism=5
kafka.sink.brokers=localhost:9092
kafka.sink.topic=metric-test
stream.checkpoint.interval=1000
stream.checkpoint.enable=false
stream.sink.parallelism=5
현재 로 컬 Kafka 에 이 metric-test topic 이 있 는 지 살 펴 보 겠 습 니 다.이 명령 을 실행 해 야 합 니 다:
bin/kafka-topics.sh --list --zookeeper localhost:2181
로 컬 Kafka 는 아무런 topic 이 없 는 것 을 볼 수 있 습 니 다.프로그램 이 실 행 된 후에 이 명령 을 다시 실행 하면 metric-test topic 이 나타 납 니 다.그러면 제 프로그램 이 확실히 작용 했다 는 것 을 증명 하고 다른 클 러 스 터 의 Kafka 데 이 터 를 로 컬 Kafka 에 기록 하 였 습 니 다.
프로그램 코드
Main.java
public class Main {
public static void main(String[] args) throws Exception{
final ParameterTool parameterTool = ExecutionEnvUtil.createParameterTool(args);
StreamExecutionEnvironment env = ExecutionEnvUtil.prepare(parameterTool);
DataStreamSource data = KafkaConfigUtil.buildSource(env);
data.addSink(new FlinkKafkaProducer011(
parameterTool.get("kafka.sink.brokers"),
parameterTool.get("kafka.sink.topic"),
new MetricSchema()
)).name("flink-connectors-kafka")
.setParallelism(parameterTool.getInt("stream.sink.parallelism"));
env.execute("flink learning connectors kafka");
}
}
실행 결과
프로그램 을 시작 합 니 다.실행 결 과 를 보고 위 명령 을 실행 하지 않 습 니 다.새로운 topic 가 나 왔 는 지 확인 하 십시오.
명령 을 실행 하면 이 topic 의 정 보 를 볼 수 있 습 니 다:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic metric-test
분석 하 다.
위의 코드 는 Flink Kafka Producer 를 사용 하여 세 개의 인자 만 전 달 했 습 니 다:brokerList,topicId,serializationSchema(직렬 화)
사실은 여러 개의 매개 변 수 를 입력 할 수 있 습 니 다.현재 일부 매개 변 수 는 기본 매개 변 수 를 사용 합 니 다.이 내용 이 비교적 많 기 때문에 나중에 한 편의 글 을 추출 하여 단독으로 말 할 수 있 습 니 다.
총결산
이 글 은 Flink 가 다른 Kafka 클 러 스 터 의 데 이 터 를 읽 고 로 컬 Kafka 에 기록 했다.저 는 Flink 라 는 층 에서 데이터 변환 을 하지 않 았 습 니 다.데 이 터 를 그대로 전 송 했 을 뿐 입 니 다.만약 에 다른 수요 가 있 으 면 Flink 라 는 층 에서 데 이 터 를 여러 가지 변환 작업 을 할 수 있 습 니 다.예 를 들 어 이 글 의 일부 변환:-Flink Data transformation(변환)을 한 다음 에 전 환 된 데 이 터 를 Kafka 에 보 낼 수 있 습 니 다.
본문 오리지널 주 소 는:http://www.54tianzhisheng.cn/2019/01/06/Flink-Kafka-sink/ ,허가 없 이 전재 금지.
나 를 주목 하 다
위 챗 공식 번호:zhisheng
그리고 저 는 Flink 의 학습 자 료 를 스스로 정 리 했 고 지금 은 모두 위 챗 공식 번호 에 올 렸 습 니 다.당신 은 나의 위 챗 을 추가 할 수 있 습 니 다:zhishengtian,그리고 키워드 답장:Flink 는 무조건 얻 을 수 있 습 니 다.
Github 코드 창고
https://github.com/zhisheng17/flink-learning/
앞으로 이 프로젝트 의 모든 코드 는 이 창고 에 놓 여 있 으 며,자신 이 flink 를 배 우 는 데모 와 블 로 그 를 포함 하고 있 습 니 다.
관련 글
1.'0 부터 1 까지 Flink 배우 기'-Apache Flink 소개
2.-Mac 에서 Flink 1.6.0 환경 을 구축 하고 간단 한 프로그램 을 실행 하 는 입문 을 구축한다.
3.<0 에서 1 까지 Flink 배우 기>-Flink 프로필 상세 설명
4.<0 부터 1 까지 Flink 배우 기>-Data Source 소개
5.'0 부터 1 까지 Flink 배우 기'-Data Source 를 어떻게 정의 합 니까?
6.<0 부터 1 까지 Flink 배우 기>-Data Sink 소개
7.'0 부터 1 까지 Flink 배우 기'-Data Sink 을 어떻게 정의 합 니까?
8.-Flink Data transformation(변환)
9.'0 부터 1 까지 Flink 배우 기'-Flink 의 Stream Windows 소개
10.<0 에서 1 까지 Flink 배우 기>-Flink 의 몇 가지 Time 에 대한 상세 한 설명
11.'0 부터 1 까지 Flink 배우 기'-Flink 가 데 이 터 를 Elastic Search 에 기록 합 니 다.
12.'0 부터 1 까지 Flink 배우 기'-Flink 프로젝트 는 어떻게 실행 합 니까?
13.'0 부터 1 까지 Flink 배우 기'-Flink 기록 데이터 부터 Kafka 까지
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.