PySpark 连接 SQL Server 数据库的几种方法
在 PySpark 中连接 SQL Server 数据库有以下几种方式:\n\n1. 使用 JDBC 连接:可以使用 PySpark 的pyspark.sql模块中的DataFrameReader类来连接 SQL Server 数据库。首先,需要下载并添加适用于 SQL Server 的 JDBC 驱动程序。然后,可以使用DataFrameReader类的jdbc方法来建立连接,并通过指定 JDBC URL、用户名和密码来进行身份验证。\n\npython\nfrom pyspark.sql import SparkSession\n\nspark = SparkSession.builder \n .appName("SQL Server connection") \n .getOrCreate()\n\njdbcUrl = "jdbc:sqlserver://<server>:<port>;databaseName=<database>"\nusername = "<username>"\npassword = "<password>"\n\ndf = spark.read \n .format("jdbc") \n .option("url", jdbcUrl) \n .option("dbtable", "<tablename>") \n .option("user", username) \n .option("password", password) \n .load()\n\n\n2. 使用 ODBC 连接:可以使用 PyODBC 库来连接 SQL Server 数据库。首先,需要安装并配置适用于 SQL Server 的 ODBC 驱动程序。然后,可以使用pyspark.sql模块中的SQLContext类来建立连接,并通过指定 ODBC 数据源名称 (DSN)、用户名和密码来进行身份验证。\n\npython\nfrom pyspark.sql import SparkSession\n\nspark = SparkSession.builder \n .appName("SQL Server connection") \n .getOrCreate()\n\ndsn = "<dsn>"\nusername = "<username>"\npassword = "<password>"\n\ndf = spark.read \n .format("jdbc") \n .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \n .option("url", f"jdbc:odbc:{dsn}") \n .option("dbtable", "<tablename>") \n .option("user", username) \n .option("password", password) \n .load()\n\n\n3. 使用 PyODBC 和 pandas 连接:可以使用 PyODBC 和 pandas 库来连接 SQL Server 数据库,并将查询结果转换为 pandas DataFrame。首先,需要安装并配置适用于 SQL Server 的 ODBC 驱动程序和 PyODBC 库。然后,可以使用 pandas 库的read_sql_query方法来执行 SQL 查询并将结果转换为 pandas DataFrame。\n\npython\nimport pyodbc\nimport pandas as pd\n\nconn = pyodbc.connect("DRIVER={ODBC Driver};SERVER=<server>;DATABASE=<database>;UID=<username>;PWD=<password>")\nquery = "SELECT * FROM <tablename>"\n\ndf = pd.read_sql_query(query, conn)\n\n\n注意:以上这些方法都需要确保所使用的驱动程序和库已正确安装和配置,并且 PySpark 和 PyODBC 库的版本兼容。
原文地址: https://www.cveoy.top/t/topic/p5mb 著作权归作者所有。请勿转载和采集!