java - 将 Beam JDBC IO 与 Cassandra 连接
问题描述
无法使用 jdbc 驱动程序连接 Cassandra,出现错误 java.sql.SQLException:无法创建 PoolableConnectionFactory(isValid() 返回 false)
Apache Beam JDBC IO 不适用于 Cassandra 我尝试使用 cassandra-jdbc-1.2.5.jar
这是我的pom
<dependency>
<groupId>org.apache-extras.cassandra-jdbc</groupId>
<artifactId>cassandra-jdbc</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cassandra/cassandra-thrift -->
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-thrift</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cassandra/cassandra-clientutil -->
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-clientutil</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.9.3</version>
</dependency>
我也使用 SQL 和 Oracle 做了 JDBC io,但没有使用 Cassandra
input.getPipeline().apply(JdbcIO.<Row>read().withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create("org.apache.cassandra.cql.jdbc.CassandraDriver", "jdbc:cassandra://112.155.0.88:9160/beam")
.withUsername(username).withPassword(password))
.withQuery("Select personname from person"))
.withCoder(SchemaCoder.of(schema))
.withRowMapper((JdbcIO.RowMapper<Row>) resultSet -> {
}
并收到此错误 java.sql.SQLException: Cannot create PoolableConnectionFactory (isValid() returned false) 我想知道梁是否支持它。
解决方案
推荐阅读
- javascript - API 网关的资源策略,仅 Cognito 身份池访问
- android-studio - 当我尝试从 Recycler View Adapter 中 startActivity() 时,Studio 显示错误
- windows - 从批处理代码创建用户输入日志
- image - 使用缓冲区将图像上传到 Google Cloud Platform 会创建空白图像
- c# - 来自 REST API 的 C# 套接字下载文件
- epplus - TMS FlexCel - 打开由 EPPlus 生成的 xlsx
- python - Django 2.1 - 为主键创建正确的路径 URL
- c# - Mvvm Cross Xamarin.iOS - 如何将警报操作绑定到 ViewModel?
- sql - 将日期显示为 dddd Mmmm d, yyyy SQL
- azure - 使用服务主体上传到 OneDrive