scala—使用spark从oracle数据库读取所有表

plicqrtu  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(717)

目标:从spark中的oracle数据库中读取所有表。
结果:我已经编写了读取单个表的代码。我可以多次重复使用它来读取多个表,但这将连接到我的oracle数据库中我将要读取的表的数量。

val employees = sqlContext.load(
    "jdbc",
    Map("url" -> "url")",
    "dbtable" -> "tableName")
)

根据spark文档中的“dbtable”参数,我们只能有表名或任何子查询。我们有没有像sqoop这样的选项在spark中导入所有表来读取这些表?

sshcrbum

sshcrbum1#

最近我遇到了同样的情况,我需要备份cassandra表。我们提供了一个解决方案,其中我们将键空间中的所有表名作为文本文件列出。我们已经编写了一个shell脚本,从中读取文件并将keyspace和表名作为参数传递给spark代码。
注意-这不是一个好方法。sqoop适用于此类场景。

相关问题