LoginSignup
1
2

More than 5 years have passed since last update.

SparkからMSのSQLserverにアクセスしたい

Last updated at Posted at 2018-01-31

ここからmssql-jdbc-6.2.2.jre8.jarをダウンロード
https://www.microsoft.com/en-us/download/details.aspx?id=55539
spark-submitするときにつける

spark-submit --driver-class-path mssql-jdbc-6.2.2.jre8.jar main.py

Sparkプログラムの中からsqlserverに接続

main.py
jdbc_url = 'jdbc:sqlserver://<sqlserver address>:1433;database=<databasename>;user=<userid>;password=<password>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;'

table = spark.read.jdbc(url=jdbc_url, table='テーブル名')

ちなみにdataframe.write.jdbc()の関数は超遅いので使わない用がいい。tsvなりparquetなりファイルに吐き出して転送することにした。

ちなみにtable名にクエリを書くこともできる。転送量を削減できる。

pushdown_query = """
(select * 
from yourtable
WHERE 条件
) tmptable
"""
appverctrl = spark.read.jdbc(jdbc_url,pushdown_query)
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2