如何解决使用 Apache Spark 读取 Microsoft Access .mdb/.accdb 文件时出现问题
我正在尝试使用 JDBC 驱动程序从 Apache Spark 2.4 读取 Microsoft Access .mdb 和 .accdb 文件:ucanaccess 5.0.1。我在这样做时面临两个主要问题。
- 当结果包含非字符串字段类型时抛出异常:Double、Timestamp、Integer、Boolean 等。
function triggerMix() {
var hour = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('title').getRange('AH7').getValue();
var autoMix = ScriptApp.newTrigger('mix1')
.timeBased()
.atHour(hour)
.everyDays(1)
.create();
}
- 一旦只选择了字符串字段,它就会在结果中为字段值重复列名。 (但是它为计数查询提供了准确的结果)
Caused by: java.sql.SQLSyntaxErrorException: incompatible data type in conversion: from SQL type CHARACTER to java.lang.Boolean,value: IsActive
$./bin/spark-shell --packages net.sf.ucanaccess:ucanaccess:5.0.1
附言
- 使用 .mdb 和 .accdb 文件类型的体验相同
- 尝试使用 Apache Spark 3.0 并遇到相同的问题
- 尝试了不同的 ucanaccess 版本
- 我使用 ucanaccess 创建了一个简单的 Java 项目(没有 spark)。效果很好。
- 我尝试使用带有 Postgres 驱动程序和 Postgres 数据库的 Spark JDBC,并且工作正常。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。