内容简介:Flink 支持编辑Cassandra Sink 底层使用了 DataStax Java Driver。支持 CQL + Tuple 和 ORM 两种方式写入 Cassandra。
Flink 支持 Cassandra 作为 Sink。
依赖
编辑 pom.xml
文件,添加依赖:
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-cassandra_2.11</artifactId> <version>1.8.0</version> </dependency>
Sink
Cassandra Sink 底层使用了 DataStax Java Driver。支持 CQL + Tuple 和 ORM 两种方式写入 Cassandra。
CQL + Tuple
已知 Tuple 有两个元素,第一个元素为 id,第二个元素为 name。
写入:chestnut::
CassandraSink.addSink(stream) .setHost("127.0.0.1") .setClusterBuilder(new ClusterBuilder() { @Override protected Cluster buildCluster(Cluster.Builder builder) { return builder.withCredentials("username", "password").build(); } }) .setQuery("INSERT INTO dm.user(id, name) values (?, ?);") .build();
ORM
定义 Java Bean:
@Table(keyspace = "dm", name = "user") public class Test { @Column(name = "id") private Long id; @Column(name = "name") private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
写入:chestnut::
CassandraSink.addSink(stream) .setHost("127.0.0.1") .setClusterBuilder(new ClusterBuilder() { @Override protected Cluster buildCluster(Cluster.Builder builder) { return builder.withCredentials("username", "password").build(); } }) .setMapperOptions(() -> new Mapper.Option[]{Mapper.Option.saveNullFields(true)}) .build();
Q&A
本地运行,报错 java: cannot access org.apache.flink.streaming.api.scala.DataStream
编辑 pom.xml
文件,添加依赖:
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-scala_2.11</artifactId> <version>${flink.version}</version> </dependency>
异常 java.lang.IllegalArgumentException: No support for the type of the given DataStream: GenericType
CassandraSink 输入类型必须为以下任意一种:
- Flink Java Tuple
- Scala case classe
- Row
- POJO
详情参考文档: Data Types & Serialization - Apache Flink Document 。
参考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文读懂监督学习、无监督学习、半监督学习、强化学习这四种深度学习方式
- 学习:人工智能-机器学习-深度学习概念的区别
- 统计学习,机器学习与深度学习概念的关联与区别
- 混合学习环境下基于学习行为数据的学习预警系统设计与实现
- 学习如何学习
- 深度学习的学习历程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程珠玑(第2版•修订版)
[美] Jon Bentley 乔恩•本特利 / 黄倩、钱丽艳 / 人民邮电出版社 / 2014-12 / 39
历史上最伟大的计算机科学著作之一 融深邃思想、实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美 多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢......一起来看看 《编程珠玑(第2版•修订版)》 这本书的介绍吧!