内容简介: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 。
参考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
信息检索导论
Christopher D.Manning、Hinrich Schütze、Prabhakar Raghavan / 王斌 / 人民邮电出版社 / 201008 / 69.00元
封面图片为英国伯明翰塞尔福瑞吉百货大楼,其极具线条感的轮廓外型优美,犹如水波的流动。其外表悬挂了1.5万个铝碟,创造出一种极具现代气息的纹理装饰效果,有如夜空下水流的波光粼粼,闪烁于月光之下,使建筑的商业氛围表现到极致。设计该建筑的英国“未来系统建筑事物所”,将商场内部围合成一个顶部采光的中庭,配以交叉的自动扶梯,使购物环境呈现出一种凝聚的向心力和商业广告的展示效应。作为英国第二商业城市伯明翰的建......一起来看看 《信息检索导论》 这本书的介绍吧!