目标:从Spark中读取oracle数据库中的所有表。
调查结果:我已经编写了读取单个表的代码。我可以多次重复使用它来读取多个表,但这将连接到我将读取的oracle数据库表数。
val employees = sqlContext.load(
"jdbc",
Map("url" -> "url")",
"dbtable" -> "tableName")
)
根据" dbtable"中的spark文档参数我们只能有表名或任何子查询。 我们有什么选项可以选择像spark中的sqoop import-all-tables来读表吗?
答案 0 :(得分:0)
最近我遇到了同样的情况,我需要对Cassandra表进行备份。我们提供了一个解决方案,我们在Keyspace中列出了所有表名作为文本文件。我们编写了一个Shell脚本,从中我读取了该文件,并将键空间和表名作为参数传递给Spark代码。
注意 - 这不是一个好方法。 Sqoop适用于这种情况。