相关疑难解决方法(0)

Statement.setFetchSize(nSize)方法在SQL Server JDBC驱动程序中的作用是什么?

我有这个非常大的桌子,每天有数百万条记录,每天结束时我都会提取前一天的所有记录.我这样做:

String SQL =  "select col1, col2, coln from mytable where timecol = yesterday";
Statement.executeQuery(SQL);
Run Code Online (Sandbox Code Playgroud)

问题是这个程序需要2GB的内存,因为它会将所有结果都记在内存中然后处理它.

我尝试设置Statement.setFetchSize(10)但它从操作系统获取完全相同的内存它没有任何区别.我正在使用Microsoft SQL Server 2005 JDBC驱动程序.

有没有办法以小块的形式读取结果,比如Oracle数据库驱动程序执行查询时只显示几行,当你向下滚动时会显示更多结果?

java sql-server jdbc

52
推荐指数
4
解决办法
9万
查看次数

fetchsize 和 batchsize 对 Spark 的影响

我想直接通过Spark控制RDB的读写速度,但是标题已经显示的相关参数似乎不起作用。

我可以得出结论,fetchsize并且batchsize不能使用我的测试方法吗?或者它们确实影响阅读和写作的方面,因为基于规模的衡量结果是合理的。

的统计betchsizefetchsize数据和设置

/*Dataset*/
+--------------+-----------+
| Observations | Dataframe |
+--------------+-----------+
|      109,077 | Initial   |
|      345,732 | Ultimate  |
+--------------+-----------+
/*fetchsize*/
+-----------+-----------+------------------+------------------+
| fetchsize | batchsize | Reading Time(ms) | Writing Time(ms) |
+-----------+-----------+------------------+------------------+
|        10 |        10 |            2,103 |           38,428 |
|       100 |        10 |            2,123 |           38,021 |
|     1,000 |        10 |            2,032 |           38,345 |
|    10,000 |        10 |            2,016 | …
Run Code Online (Sandbox Code Playgroud)

database performance apache-spark spark-dataframe

7
推荐指数
0
解决办法
6142
查看次数

使用 Apache Spark 时如何处理数据库的背压?

我们使用 Apache Spark 每 2 小时执行一次 ETL。

有时Spark在执行读/写操作时会给数据库带来很大的压力。

对于Spark Streaming,我可以backpressure在kafka上看到配置。

有没有办法在批处理中处理这个问题?

apache-spark apache-spark-sql

2
推荐指数
1
解决办法
732
查看次数