目标:从spark中的oracle数据库中读取所有表。
结果:我已经编写了读取单个表的代码。我可以多次重复使用它来读取多个表,但这将连接到我的oracle数据库中我将要读取的表的数量。
val employees = sqlContext.load(
"jdbc",
Map("url" -> "url")",
"dbtable" -> "tableName")
)
根据spark文档中的“dbtable”参数,我们只能有表名或任何子查询。我们有没有像sqoop这样的选项在spark中导入所有表来读取这些表?
1条答案
按热度按时间sshcrbum1#
最近我遇到了同样的情况,我需要备份cassandra表。我们提供了一个解决方案,其中我们将键空间中的所有表名作为文本文件列出。我们已经编写了一个shell脚本,从中读取文件并将keyspace和表名作为参数传递给spark代码。
注意-这不是一个好方法。sqoop适用于此类场景。