spark filter过滤某个字段在几个值里面_Spark基础:读写JDBC

本文介绍了Spark SQL如何通过JDBC连接读取和写入数据库,包括url、dbtable、query等参数的使用,以及filter、partitionColumn、numPartitions等选项在数据过滤和分区上的应用。此外,还提到了driver、fetchSize、batchSize等参数对性能的影响,并讨论了pushDownPredicate谓词下推的策略选择。
摘要由CSDN通过智能技术生成

13f7373284246d5d37932ebc81134000.png

Spark SQL支持通过JDBC直接读取数据库中的数据,这个特性是基于JdbcRDD实现。返回值作为DataFrame返回,这样可以直接使用Spark SQL并跟其他的数据源进行join操作。JDBC数据源可以很简单的通过Java或者Python,而不需要提供ClassTag。注意这与Spark SQL JDBC server不同,后者是基于Spark SQL执行查询。

要保证能使用需要把对应的jdbc驱动放到spark的classpath中。比如,想要连接postgres可以在启动命令中添加jars:

bin/spark-shell 
--driver-class-path postgresql-9.4.1207.jar 
--jars postgresql-9.4.1207.jar

远程数据库的表可以加载成DataFrame或者注册成Spark SQL的临时表,用户可以在数据源选项中配置JDBC相关的连接参数。user和password一般是必须提供的参数,另外一些参数可以参考下面的列表:

url

JDBC连接url,比如jdbc:postgresql://localhost/test?user=fred&password=secret

dbtable

需要读取或者写入的JDBC表,注意里面的内容将会作为from后面的部分,比如 select

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值