【发布时间】:2016-08-11 20:44:16
【问题描述】:
我需要使用 Spark SQL 从 DB2 数据库中读取数据(因为 Sqoop 不存在)
我知道这个函数会通过打开多个连接来并行读取数据
jdbc(url: String, table: String, columnName: String, lowerBound: Long,upperBound: Long, numPartitions: Int, connectionProperties: Properties)
我的问题是我没有这样的增量列。此外,我只需要通过 Query 读取数据,因为我的表很大。有谁知道通过 API 读取数据的方法,或者我必须自己创建一些东西
【问题讨论】:
-
“增量列”是什么意思?您只需为 Spark 提供服务器的 JDBC 地址
-
参考这里。这些示例不使用列或绑定参数。 spark.apache.org/docs/latest/…
-
没错。问题是我不会有两个以上的刽子手。这意味着 2 的并行性。如果我在测试中添加这些变量(字符串,下界:长,上界:长,numPartitions)一个执行者正在创建 10 个分区。但是,如果我不给这些分区,则只会发生两个 pareele 读取。我们还有其他方法可以做到这一点吗?
-
我不确定。我对 Spark 的 JDBC 选项不太熟悉
标签: apache-spark jdbc apache-spark-sql