目前Spark支持四种方式从数据库中读取数据,这里以Mysql为例进行介绍。
一、不指定查询条件
这个方式链接MySql的函数原型是:
1 |
def jdbc(url : String, table : String, properties : Properties) : DataFrame
|
我们只需要提供Driver的url,需要查询的表名,以及连接表相关属性properties。下面是具体例子:
1 |
|
2 |
3 |
val prop = new Properties()
|
4 |
|
5 |
6 |
println(df.count()) |
7 |
|
我们运行上面的程序,可以看到df.rdd.partitions.size
输出结果是1,这个结果的含义是iteblog表的所有数据都是由RDD的一个分区处理的,所以说,如果你这个表很大,很可能会出现OOM