簡體   English   中英

如何使用pyspark從DB2中讀取SQL?

[英]How to read with SQL from DB2 using pyspark?

我想使用帶有pySpark的SQL語句連接並從DB2中讀取。 我在互聯網上找到的唯一代碼讀取整個表,如下所示

user = <username>
password = <password>
jdbcURL = "jdbc:db2://xx.xx.xxx.xxx:50000/Database" 
prop = {"user":user, "password":password, "driver":"com.ibm.db2.jcc.DB2Driver",  "sslConnection":"false"} 
table = <schema.table>
df = sqlContext.read.jdbc(url=jdbcURL,table=table,properties=prop) 
df.count()

我想使用類似

 'select * from table limit 100'

能否請你幫忙?

您可以像下面在Pyspark一樣從任何JDBC源中讀取

df = sqlContext.read.format('jdbc').option('url', '{}:{}/{}'.format(domain, port, dbname)).option('driver', 'com.mysql.jdbc.Driver').option('dbtable', '(select * from `{}`) as `{}`'.format(table, table)).option('user', username).option('password', password).load()

希望這可以幫助

根據@ User12345的響應,此操作如下

df = (sqlContext.read.format('jdbc') .option('url', 
    'jdbc:db2://xx.xx.xxx.xxx:50000/myDatabase') .option('driver', 
    'com.ibm.db2.jcc.DB2Driver') .option('dbtable', "(SELECT * FROM mySchema.myTable 
     limit 100) as t") .option('user', user).option('password', password).load()) 
df.count() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM