内容简介: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 。
参考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文读懂监督学习、无监督学习、半监督学习、强化学习这四种深度学习方式
- 学习:人工智能-机器学习-深度学习概念的区别
- 统计学习,机器学习与深度学习概念的关联与区别
- 混合学习环境下基于学习行为数据的学习预警系统设计与实现
- 学习如何学习
- 深度学习的学习历程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
后谷歌时代:大数据的衰落及区块链经济的崛起
乔治·吉尔德 / 现代出版社 / 2018-9-5 / 68
以大数据和机器智能为基础的谷歌时代(信息互联网时代)是一个令人敬畏的时代。但它即将终结。 《后谷歌时代》一书的作者乔治•吉尔德是一位颇具远见卓识的智者。他在技术和文化领域具有无与伦比的视野和见地。他向读者描述了谷歌所面临信任与安全危机,并勇敢地预测了即将到来的后谷歌时代。 谷歌用其惊人的“搜索和排序”能力吸引了整个世界。功能强大的搜索引擎,看似免费小应用,诸如视频、地图、电子邮箱等,让......一起来看看 《后谷歌时代:大数据的衰落及区块链经济的崛起》 这本书的介绍吧!